将事件传播到QT中最顶部的Widget / QMainWindow的最佳方法是什么?
What is the best way to propagate event to top most Widget/QMainWindow in QT
我有一种分层的架构,其中一个小部件在另一个小部件中。最上面的对象是QMainWindow,可以有任意数量的内部小部件(一个在另一个内部)。示例:- 主窗口是 widget1 的父级,widget 1 是 widget2 的父级。等等..
现在我需要在最上面的窗口中处理最新子项的关闭事件。我想知道在QT 5.7中实现它的最佳方法。
您可能希望对 QMainWindow 进行子类化并覆盖 childEvent
函数:
http://doc.qt.io/qt-5/qobject.html#childEvent
将允许您执行以下操作:
class TarunsMainWindow : QMainWindow {
protected:
void childEvent(QChildEvent event) override {
if (event->type() == QEvent::ChildRemoved) {
// do something special
}
QMainWindow::childEvent(event);
}
}
相关文章:
- Widget&&rhs 是左值还是右值引用
- 使用静态 qmake 的 QT Widget 插件
- QMainWindow 不会在条件块中打开
- 如何逐步更新QMainWindow
- 如何从另一个类编辑 QMainWindow UI 小部件?
- 类 QLayout 和类 QMainWindow Qt c++ 之间的继承
- 从 QT Widget 对象实例访问 QT Widget 子成员
- 如何在Qt Designer UI文件中清除QMainWindow的几何标记
- 对 QMainWindow 使用 std::unique_ptr 时退出时出现 QT 应用程序分段错误
- 如何使用OpenGL渲染到一个QMainWindow的两个QWidget?
- QDialog 不会保留在父 QMainWindow 之上
- setWindowState from QMainWindow from QWidget
- 如何从另一个Qt Widget表单类调用MainWindow类
- 使用 QMainWindow 作为超类切换应用程序"states"
- 将 QMainWindow 中的 enterPressed() 连接到 Button clicked()
- 从 Qt 小部件应用程序调用 pyqt widget
- QMainWindow 不是 .show() 但 .showFullScreen() 可以工作
- 将事件传播到QT中最顶部的Widget / QMainWindow的最佳方法是什么?
- 将QMainWindow或Widget添加到另一个Widget-访问成员
- 创建一个实现选项卡并可用作 QMainWindow 中的"central widget"的类