Qt 是一个跨平台的、基于 LGPL 协议的界面类库,可以方便地实现 C++ 的可视化窗口编程,在很大程度上弥补了 C++ 语言界面编程的弱点。
由于要支持跨平台,一些基于平台的功能就不能直接写入类库,导致了使用 Qt 时一些功能需要变通的方法来实现。
比如:Qt 并不支持直接禁止用户调整窗口大小。变通的方法是将窗口的最小大小和最大大小设置为一样。
为了更方便,QWidget 类实现了 setFixedSize(int w, int h) 方法,该方法的实质就是将窗口的大小、最小大小、最大大小设置为相同的值。
唯一的缺憾是,通过这种方法实现的窗口固定大小的效果不是很完美,比如,在 Windows 操作系统下,在窗口边框处仍然提示可以拉动窗口以改变大小,但是拉动时却拉不动。
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
;
}
}
|
您也许喜欢 :
- C++笔记:习题 6.20
- std::vector : 用法与技巧
- C++笔记:使用std::vector储存质数表
- C++笔记:[程序]反转所给的字符串
- C++笔记:入门
- 使用 OleDB 实现远程多线程数据库访问(C#, Access 数据库)