QT无法固定窗口大小
时间: 2024-08-01 20:01:16 浏览: 102
在Qt中,如果你想要创建一个窗口并且希望用户不能改变其大小,你可以设置窗口的`fixedSizeHint`和`minimumSizeHint`属性。`fixedSizeHint`是一个推荐的最小尺寸,而`minimumSizeHint`则是窗口不允许缩小到的最小尺寸。下面是一个简单的例子:
```cpp
QApplication a(argc, argv);
QWidget *window = new QWidget();
// 设置窗口大小不能被更改
window->setFixedSize(window->sizeHint()); // 设置窗口固定为推荐尺寸
window->setMinimumSize(window->size()); // 设置最小尺寸为当前窗口尺寸
QWidget::resizeEvent(this, &event) {
if (event.size().width() < window->minimumSize().width()
|| event.size().height() < window->minimumSize().height()) {
event.ignore(); // 如果试图缩小到小于最小尺寸,则忽略此事件
} else {
setFixedSize(event.size()); // 否则允许窗口调整到新尺寸
}
}
window->show();
return a.exec();
```
在这个例子中,窗口被初始化时就设定为固定的大小,并且当尝试调整大小时,会检查是否超过了最小尺寸限制,如果是,就忽略调整事件,保持窗口尺寸不变。
阅读全文