无法在Linux下为QDialog添加最小化按钮

3

我正在尝试使用以下构造函数代码向我的QDialog添加最小化按钮:

Qt::WindowFlags flags = windowFlags();
flags |= Qt::WindowMinMaxButtonsHint;
setWindowFlags(flags);

在Windows上可以运行,但在Linux上无法运行。


这是依赖于Linux窗口管理器的程序。 - ismail
我能从Qt内部做些什么吗?我已经尝试过QMainWindow,它对最小化按钮没有问题。 - sashoalm
1个回答

11

虽然晚了些,但这个答案可能会对其他人有用。我曾经遇到同样的问题,并且是这样修复的:

Qt::WindowFlags flags = Qt::Window | Qt::WindowSystemMenuHint
                            | Qt::WindowMinimizeButtonHint
                            | Qt::WindowCloseButtonHint;
this->setWindowFlags(flags);

在覆盖的对话框构造函数内部。


1
最终我将项目从QDialog切换到了QMainWindow,解决了我的问题,但还是非常感谢你的回答。 - sashoalm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接