部件、窗口、容器 区别

一、 Qt 中窗口的基本概念
1、部件或窗口部件: Qt 把建立用户界面的元素称为窗口部件(widget),简称部件,比如:主
窗口、对话框、按钮、标签等在 Qt 中都称为部件。
2、窗口:没有嵌入到其他部件中的部件被称为窗口, 通常来说窗口是没有父部件的部件(也
可以有父部件),因此窗口又被称为顶级部件,与其相对的非窗口部件,称为子部件。 窗
口通常含有边框和标题栏(当然也可以没有这些)。窗口若有父部件,则在父级被删除时删
除。 QDialog 和 QMainWindow 部件,默认为窗口,即使在构造函数中为其指定父部件,
仍是窗口。 窗口通常会显示在任务栏上。
3、容器:放置其他部件的部件被称为容器,注意,容器可以嵌入到其他部件(即容器可以有
父部件
),而窗口则不能

#include<QtWidgets> /*添加此头文件会包含整个 QtWidgets 模块中的所有类。实际编写程序时像这样大
型的头文件应尽量包含可能少的数量,以加快程序的运行,本文作为讲解目的,
为了减少程序长度而使用了这种简便的方式。 */

int main(int argc, char *argv[]) {
	QApplication a(argc, argv);
	//1、窗口 1, 创一个对话框部件 d。
	QDialog d; 
	d.resize(333, 222);

	//2、窗口 2, QWidget 类及其子类的构造函数都有 QWidget *parent =0;
	//Qt::WindowFlags f=0 形参。 此处标志取值为 Qt::Window,则此时无论部件t 是否有父部件,都表示该部件是一个窗口
	QLabel t(&d, Qt::Window);
	//QLabel t1(); //注意:此语法不是使用默认构造函数创建 t1,而是在声明一个函数 t1
	t.setText("AAA"); t.resize(111, 44); t.move(50, 50);
	t.show(); //因为标签 t 现在是窗口,所以需要明确的显示
	d.show();

	//3、窗口 3, 默认情况下,按钮 b 没有指定父部件,因此按钮 b 是一个窗口,注意:
	//	QPushButton 没有参数类型为 Qt::WindowFlags 的构造函数,即无法为按钮设置标志
	QPushButton b;
	b.resize(222, 111); b.setText("BBB"); 
	b.show();

	//4、这里t2不是一个窗口,是在d内
	QLabel t2(&d); //部件 t2 添加于在对话框 d 显示之后。
	t2.setText("CCC"); t2.move(50, 50);
	t2.show(); //因为 t2 在 d 显示之后添加的,所以必须明确的显示 t2,否则 t2 会不可见。

	return a.exec();
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值