当我试图显示一个QDialog时,它会出现在屏幕的左上角,没有边框。内容被正确呈现,但边框丢失。
即使我完全像WindowHint和WindowType的类似于Qt::小部件,Qt::=>或Qt::WindowTitleHint,什么都没有改变!
谢谢你的提示!
编辑:我在Windows和工作中尝试相同的SW (可能是ifdef造成了不同.)
操作系统: 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
}发布于 2016-10-20 11:28:06
我找到了解决办法。是在密码之外的。我的一位同事更改了Ubuntu配置,强制我的应用程序成为全屏。因此,不仅主窗口是全屏,而且所有其他窗口和消息框。我们改变了这个,它起作用了。
我不想因此删除这个问题,以便其他一些读者有同样的问题(或相同的好同事:-)
发布于 2016-10-20 06:57:50
您可以通过调用布局上的setContentMargins来通过代码设置边框宽度。例如:
ui->myQDialog->setContentsMargins(3,3,3,3); // sets the qdialog border width to 3px.https://stackoverflow.com/questions/40147262
复制相似问题