【问题标题】:How can I maximize my main window and prevent resize in QT如何最大化我的主窗口并防止在 QT 中调整大小
【发布时间】:2016-11-17 16:12:22
【问题描述】:

我试图在运行时最大化我的主 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);
}

这会使位于最小化和关闭窗口中间的标题栏中的“还原”、“最大化”按钮变灰。

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

我怎样才能防止取消捕捉窗口并且没有严格调整大小的能力。

谢谢!

【问题讨论】:

  • 获取显示的几何图形并将QMainWindow的固定大小设置为相应的值。根据需要进行调整(任务栏?)。有关详细信息,请参阅 QWidget 的文档。它是从那里继承的。

标签: c++ qt


【解决方案1】:

如果您希望窗口框架消失并且最大化丢失恢复按钮不可见,您可以将代码的 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
}

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2018-09-17
    • 1970-01-01
    • 2013-09-09
    相关资源
    最近更新 更多