MainWindow窗口如何固定?

项目要求MainWindow窗口的标题栏屏蔽。就是只响应它的关闭按钮,对于最大化和最小化都不响应,而且也不能被鼠标拖动,请问有没有什么好的办法

答:以下代码可以达到效果,可以看做是前面几个问题的综合示例:

#include <QtGui>
#include <QtCore>
int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QMainWindow window;
    window.setWindowFlags(window.windowFlags() 
            & ~Qt::WindowMaximizeButtonHint
            & ~Qt::WindowMinimizeButtonHint
            );
    int titleBarHeight = 
        QApplication::style()->pixelMetric(QStyle::PM_TitleBarHeight);
    QRect rect = QApplication::desktop()->availableGeometry();
    rect.setTop(rect.top() + titleBarHeight);
    window.setGeometry(rect);
    window.setFixedSize(window.size());
    window.showMaximized();
    return app.exec();
}

style()setGeometry()setFixedSize()方法在涉及到界面布局时经常会用到,用法比较简单,可以查阅Qt Assistant

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐