【发布时间】:2018-01-21 07:04:54
【问题描述】:
我正在 OSX 下使用 Qt Creator (Qt5.10) 编写 GUI。我有一个QMainWindow 用于主应用程序的窗口。在这里面我有一个QTab 小部件,其中我有整个小部件(我们称之为CaptureTabWidget,它包含一些额外的小部件和一个QFrame(这个QFrame 的父级是QTab)。在这个最后一个小部件我会画一些东西。关键是我想在QMainWindow 的statusBar 中写一些与鼠标位置相关的值在QFrame 中,但我不知道关于如何从包含QFrame 的CaptureTabWidget 中的方法访问主窗口。
整个画面是这样的:
X
+-----------+ XXX
|MainWindow | XXXXXXXXX
+-----+-----+ XXX XXXXXX
| X XXX
+-----v------------+ XX
|QTabWidget | XX
|No parent | XX
+-----+------------+ XX
| X
+-----v-------------+ ?? X
|CaptureTabQWidget | X
|Parent:QTabWidget | X
+-----+-------------+ X
| X
+-----v-------------+ XX
|QFrame | XXXXXX
|Parent:CaptureTab | XXX
+-------------------+
我尝试修改 CaptureTabWidget 的构造函数以接收指向主窗口的QMainWindow*,但在设计器中提升小部件时,Qt Creator 似乎不允许自定义构造函数。我想知道这样做的正确方法是什么。
【问题讨论】:
-
感谢您的反馈。是的,我看到了那个解决方案,我只是想知道是否有一种优雅的方法可以做到这一点,因为我不是经验丰富的 Qt 程序员。我再等一会儿,否则我会把你给我的文章标记为解决方案。
标签: c++ qt qt5 qwidget qmainwindow