2016-11-17 104 views
2

我试图在运行时最大化主qt窗口并防止用户调整其大小。我曾尝试如何最大化我的主窗口并防止在QT中调整大小

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    MainWindow widget; 
    widget.showMaximized(); 
    widget.show(); 
    return a.exec(); 
} 

这也将窗口最大化,与

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    this->setWindowFlags(this->windowFlags() | Qt::MSWindowsFixedSizeDialogHint); 
    ui->setupUi(this); 
} 

沿着这确实是灰色不可用“往下还原”,“最大化”按钮位于标题栏在尽量减少中间,关闭窗口。

但我仍然可以拖动标题栏以取消最大化窗口的大小,然后用角和边重新调整大小。

我该如何防止取消窗口的功能,以及严格禁止调整大小。

谢谢!

+0

获取显示器的几何结构和设置QMainWindow中的固定大小相应的值。如果需要调整(任务栏?)。有关更多信息,请参阅QWidget的文档。它从那里继承下来。 – maxik

回答

0

如果你想窗框消失,最大限度地提高全输,restoredown按钮看不见,您可以修改代码的UI部分:

MainWindow::MainWindow(QWidget *parent) : 
QMainWindow(parent), 
ui(new Ui::MainWindow) 
{ 
    this->setWindowFlags(this->windowFlags() | Qt::MSWindowsFixedSizeDialogHint); 
    ui->setupUi(this); 
    this->setWindowFlags(Qt::FramelessWindowHint); //Makes the frame invisible 
    this->setWindowState(Qt::WindowMaximized); //Maximizes the window 
}