您的位置:首页 > 编程语言 > Qt开发

QT 笔记:禁止调整窗口大小

2010-10-12 22:02 645 查看
Qt 是一个跨平台的、基于 LGPL 协议的界面类库,可以方便地实现 C++ 的可视化窗口编程,在很大程度上弥补了 C++ 语言界面编程的弱点。

由于要支持跨平台,一些基于平台的功能就不能直接写入类库,导致了使用 Qt 时一些功能需要变通的方法来实现。

比如:Qt 并不支持直接禁止用户调整窗口大小。变通的方法是将窗口的最小大小和最大大小设置为一样。

为了更方便,QWidget 类实现了 setFixedSize(int w, int h) 方法,该方法的实质就是将窗口的大小、最小大小、最大大小设置为相同的值。

唯一的缺憾是,通过这种方法实现的窗口固定大小的效果不是很完美,比如,在 Windows 操作系统下,在窗口边框处仍然提示可以拉动窗口以改变大小,但是拉动时却拉不动。

?

[Copy to clipboard]

Download mainwindow.cpp

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 数据库)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: