QDialog缺少边框

时间:2016-10-20 06:47:01

标签: c++ qt user-interface qdialog

当我尝试显示QDialog时,它会显示在屏幕的左上角,没有边框。内容正确呈现但边框丢失。

即使我所有类型的WindowHint和WindowType都像Qt :: Widget,Qt :: Dialog或Qt :: WindowTitleHint =>什么都没改变!

感谢任何提示!

编辑:我尝试使用Windows和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
}

2 个答案:

答案 0 :(得分:0)

您可以通过调用布局上的setContentMargins按代码设置边框宽度。例如:

ui->myQDialog->setContentsMargins(3,3,3,3); // sets the qdialog border width to 3px.

答案 1 :(得分:0)

我找到了解决方案。它不在代码之内。我的一位同事改变了Ubuntu配置,强制我的应用程序全屏显示。因此,不仅主窗口是全屏幕,而且所有其他窗口和消息框。我们改变了这个并且它有效。

我不想这样删除这个问题,以便其他一些读者有同样的问题(或同样的好同事:-))