Qt:从子部件最小化应用程序
Qt: Minimize application from child widget
我在Qt中有一个应用程序,每当我想最小化应用程序时,我使用
this->showMinimized();
但是,这一行不能在子部件中工作(除了在子部件的构造函数中使用'parent'之外)。
除了设置一个信号和槽,有没有一种方法来最小化应用程序从一个子部件?我尽量避免信号和插槽,因为我开始有大量的信号和插槽。
提前感谢!
如果你只有一个窗口,你可以使用这个方法:
QMainWindow* win = qobject_cast<QMainWindow*>(QApplication::activeWindow());
win->showMinimized();
但是i thing signals/slots可能是一个更好的方法。
您可以将窗口状态设置为最小化。如果子部件的父部件是应用程序的主窗口,则应该调用子部件:
this->parentWidget()->setWindowState(Qt::WindowMinimized);
也可以在子部件的构造函数中保存指向主窗口的指针:
QWidget * myParent;
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
this->myParent = parent;
...
}
和调用当你想要最小化应用程序时:
this->myParent->setWindowState(Qt::WindowMinimized);
如果您不想使用signal和slot(但在本例中可以),您可以将您想要最小化的窗口放在子部件的构造函数中。
相关文章:
- 找到两对数字,使它们的乘积的绝对差最小化
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 如何为模块化应用程序实现C++插件系统
- 如何隐藏最大化和最小化按钮并在qml应用程序窗口中显示关闭按钮?
- 可见程序或最小化程序时的过程ID更改
- 当模式窗口最小化时,最小化所有应用程序窗口(在 Linux 上)
- 应用程序最小化时单击显示桌面/最小化全部
- 如何在Qt中打开外部应用程序并将其最小化到系统托盘
- 检查特定应用程序的窗口是否处于最小化状态
- 如何使用写入时复制来最小化 C++ 程序的内存消耗
- 如何在 OnInitDialog 函数中最小化 MFC 应用程序
- C++模拟鼠标左键单击最小化程序
- 最小化到停靠后恢复Qt应用程序,使用OS X上的扩展坞快捷方式
- 当程序最小化时位图消失
- 如何获得应用程序的最小化/最大化事件
- 如果通过单击任务栏按钮最小化程序,SW_SHOWNOACTIVATE不起作用
- Qt:从子部件最小化应用程序
- c++应用程序中的SQL查询最小化/缓存
- 为什么当我的应用程序最小化时CPU使用率会增加
- 如何检测用户是否按下了Ctrl-Alt-Del或Alt-Tab,以便我可以最小化我的程序