1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); Qt::WindowFlags flags = 0; flags |= Qt::WindowMinimizeButtonHint; setWindowFlags(flags); // 设置禁止最大化 setFixedSize(577,433); // 禁止改变窗口大小。 } MainWindow::~MainWindow() { delete ui; } void MainWindow::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } } |
QT 笔记:禁止调整窗口大小
精选 转载Qt 是一个跨平台的、基于 LGPL 协议的界面类库,可以方便地实现 C++ 的可视化窗口编程,在很大程度上弥补了 C++ 语言界面编程的弱点。
由于要支持跨平台,一些基于平台的功能就不能直接写入类库,导致了使用 Qt 时一些功能需要变通的方法来实现。
比如:Qt 并不支持直接禁止用户调整窗口大小。变通的方法是将窗口的最小大小和最大大小设置为一样。
为了更方便,QWidget 类实现了 setFixedSize(int w, int h) 方法,该方法的实质就是将窗口的大小、最小大小、最大大小设置为相同的值。
唯一的缺憾是,通过这种方法实现的窗口固定大小的效果不是很完美,比如,在 Windows 操作系统下,在窗口边框处仍然提示可以拉动窗口以改变大小,但是拉动时却拉不动。
您也许喜欢:
上一篇:QT主要类QWidget
下一篇:WidgetFlags
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章