QDialog 缺少边框
QDialog missing border
当我尝试显示 QDialog 时,它出现在屏幕的左上角,没有边框。内容已正确呈现,但缺少边框。
即使我使用了各种 WindowHint 和 WindowType,例如 Qt::Widget、Qt::Dialog 或 Qt::WindowTitleHint => 什么都没有改变!
感谢任何提示!
编辑:我用 Windows 尝试相同的 SW 并在工作中(也许 ifdef 有所不同......)
OS: Ubuntu 16.04
QT: 5.6.1
MyDialog.cpp
MyDialog::MyDialog(MyDialog::MyDialogTypes type, QWidget *parent) :
QDialog(parent) ,
ui(new Ui::MyDialog)
{
ui->setupUi(this);
setDialogType(type);
}
MainWindow.cpp
bool MainWindow::confirm()
{
MyDialog dlg(MyDialog::Type1, this);
dlg.setWindowTitle("ABC");
return dlg.exec() != QDialog::Accepted
}
您可以通过代码在布局上调用setContentMargins
来设置边框宽度。例如:
ui->myQDialog->setContentsMargins(3,3,3,3); // sets the qdialog border width to 3px.
我找到了解决方案。它在代码之外。我的一位同事更改 Ubuntu 配置以强制我的应用程序全屏显示。因此,不仅主 window 是全屏的,所有其他 windows 和消息框也是。我们对此进行了更改并且有效。
我不想删除这个问题,以便其他一些读者有同样的问题(或同样好的同事 :-))
当我尝试显示 QDialog 时,它出现在屏幕的左上角,没有边框。内容已正确呈现,但缺少边框。
即使我使用了各种 WindowHint 和 WindowType,例如 Qt::Widget、Qt::Dialog 或 Qt::WindowTitleHint => 什么都没有改变!
感谢任何提示!
编辑:我用 Windows 尝试相同的 SW 并在工作中(也许 ifdef 有所不同......)
OS: Ubuntu 16.04
QT: 5.6.1
MyDialog.cpp
MyDialog::MyDialog(MyDialog::MyDialogTypes type, QWidget *parent) :
QDialog(parent) ,
ui(new Ui::MyDialog)
{
ui->setupUi(this);
setDialogType(type);
}
MainWindow.cpp
bool MainWindow::confirm()
{
MyDialog dlg(MyDialog::Type1, this);
dlg.setWindowTitle("ABC");
return dlg.exec() != QDialog::Accepted
}
您可以通过代码在布局上调用setContentMargins
来设置边框宽度。例如:
ui->myQDialog->setContentsMargins(3,3,3,3); // sets the qdialog border width to 3px.
我找到了解决方案。它在代码之外。我的一位同事更改 Ubuntu 配置以强制我的应用程序全屏显示。因此,不仅主 window 是全屏的,所有其他 windows 和消息框也是。我们对此进行了更改并且有效。
我不想删除这个问题,以便其他一些读者有同样的问题(或同样好的同事 :-))