“QT 快速上手指南“ 之 计算器(二)组件,坐标,窗口

简介: “QT 快速上手指南“ 之 计算器(二)组件,坐标,窗口

前言


一、QT 基本组件用法介绍:


1. QLabel :

① QLabel 被用来显示文本和图像,通常作为应用程序的菜单、状态栏、帮助和欢迎页面。用来显示一个提示性的字符串。


② QLabel 是 功能性组件,一般需要父组件作为容器。


③ QLabel 可以作为窗口存在,但 没什么意义。


(1). 创建 QLabel:

设置其中显示的文本,指定其父对象。


QLabel *myLabel = new QLabel("Hello, Qt!", this);

1

(2). 设置 QLabel 的文本:

使用 setText ( ) 函数为 QLabel 设置文本。


myLabel->setText("Welcome to my app");

1

(3). 设置 QLabel 的字体和颜色:


/* 设置了myLabel的字体为14像素的Arial字体,并将颜色设置为红色 */
myLabel->setFont(QFont("Arial", 14));
myLabel->setStyleSheet("color: red");
1


(4). 设置 label 上文本的缩进


/* 设置 label 上文本的缩进(以像素为单位) */
label->setIndent(50);
1
2

(5). QLablel的对齐方式

使用 setAlignment ( ) 函数设置QLabel的对齐方式


/* 设置了myLabel居中对齐 */
myLabel->setAlignment(Qt::AlignCenter);
1

2

3

2. QPushButton :

① QPushButton 是 Qt 中常用的一个控件,可以实现一个按钮,供用户单击执行相应操作。

② QPushButton 能够显示提示性字符串。

③ QPushButton是功能性组件,需要父组件作为容器。

④ QPushButton能够在父组件中进行定位。


(1). 创建QPushButton:

创建了一个名为 myButton 的 QPushButton 对象,并设置了它的文本为 “Click me!” 。this 参数表示我们将该按钮放置在哪个 QWidget 对象中


QPushButton *myButton = new QPushButton("Click me!", this);

1

(2). 设置要显示的字符串:


myButton->setText("button");
1

(3). 按钮移动到指定位置:

移动到 x= 10, y = 50 处。


myButton->move(10,50);

1

(4). 监听QPushButton的点击事件:

使用 connect ( ) 函数监听 QPushButton 的点击事件

使用connect()函数将myButton的clicked()信号连接到MyWidget类中的onMyButtonClicked()槽函数。当按钮被单击时,clicked()信号发射,槽函数onMyButtonClicked()被调用。


connect(myButton, SIGNAL(clicked()), this, SLOT(onMyButtonClicked()));

1

(5). 设置按钮的大小:

按钮的 高度为50, 宽度为200.


myButton->resize(200,50);
1

(6). 设置QPushButton的样式:

使用 setStyleSheet ( ) 函数设置 QPushButton 的样式表,例如改变了 背景颜色 和 文本颜色 .

/* 设置了myButton的背景颜色为黄色,文本颜色为黑色 */
myButton->setStyleSheet("background-color:yellow; color:black");
1
2
3

3. QLineEdit:

① QLineEdit 是Qt中一个允许用户在单行文本框中输入或编辑文字的控件,通常用于收集用户输入的数据。

② QLineEdit 能够获取用户的输入的字符串。

③ QLineEdit 是功能性组件,需要父组件作为容器。

④ QLineEdit 能够在父组件中进行定位。


(1). 创建QLineEdit:


myLineEdit->setText("Enter your name here");

1

(2). 设置 QLineEdit 的文本内容:


myLineEdit->setText("Enter your name here");

1

(3. 获取 QLineEdit 的文本内容:


QString text = myLineEdit->text();

1

(4). 设置显示的字符串向右对齐:


myLineEdit->setAlignment( Qt::AlignRight);
1

(5). 显示或隐藏QLineEdit的内容:

使用setEchoMode()函数设置QLineEdit的显示或隐藏模式


/* 设置了myLineEdit的模式为密码模式,这样在文本框中输入的文本会被隐藏 */
myLineEdit->setEchoMode(QLineEdit::Password);
1

2

3

二、坐标系统


在 Qt 中,坐标系统是基于平面几何的坐标系统,用于定位和定位 QWidget ,也适用于其他图形图像元素的绘制和布局。


GUI 操作系统都有自己特定的 坐标系统。

坐标原点 通常位于 QWidget 的左上角,其中x表示 水平坐标,y 表示垂直坐标。

fb39185ee24bf03b0493ab07832a99b.png

Qt 使用统一的坐标系统 定位部件的位置 和 大小 。

Qt 部件类提供 成员函数 在坐标系统中进行定位。

QWidget 类提供了窗口部件所需的坐标系统成员函数。

坐标系统 的 成员函数 :

d8aa6a838970d06c17d2df4baf5570a.png

①. x( ) 和 y( ) --------- 获取 QWidget 在其父对象中的 x 、y 坐标,返回 int 类型值。

②. geometry( ) ---------函数返回 QWidget 的 位置 和 大小 。这个位置和大小是基于 QWidget 的父QWidget 或者是相对于屏幕的,并且是相对于 QWidget 的左上角的。返回一个 QRect 对象。

c7d0c0243659cd79cbff1a3a2600647.png


③ . frameGeometry( ) ---------函数返回QWidget的情况和大小,包括QWidget的边框、标题栏和窗口管理器的大小。


fdd0ca2a818fe76b89db4af7c0b4fdf.png

④. width ( )和 height ( )----------width( ) 函数返回 QWidget 的宽度, height( ) 函数返回 QWidget 的高度。


⑤. move( ) ---------- 移动QWidget的位置.


⑥. resize( )------------ 更改QWidget的大小。


width ( )和 height ( ) 相当于 :

ce14e681d7c07be0c4e09f07154419b.png

x( ) 和 y( ) 相当于 :

56850e07b1d523af778035d0c62e4c5.png

三、窗口部件的大小设置


1. setSize( ) 函数:

// 设置QWidget对象的大小为500x300像素
myWidget->setSize(QSize(500, 300));
1

2

3

2. resize( )函数:

/* width和height分别为QWidget对象的宽度和高度(像素数目) */
myWidget->resize(width, height);
1

2

3

3. setFixedSize( )函数:

将窗口大小锁定为固定值,不能够通过鼠标或键盘改变


myWidget->setFixedSize(width, height);
1
4. setFixedWidth( ) 和 setFixedHeight( )函数
setFixedWidth()和setFixedHeight()函数用于分别设置QWidget对象的宽度和高度
myWidget->setFixedWidth(width);
myWidget->setFixedHeight(height);
1
2

3

总结

下篇文章为大家介绍 QT的 信号与槽,消息处理机制。

————————————————


相关文章
|
3月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
146 2
|
3月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
108 1
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
694 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
239 3
|
3月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
77 3
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
514 3
|
3月前
【qt】视口和窗口坐标
【qt】视口和窗口坐标
30 0
|
3月前
|
算法 数据安全/隐私保护
【qt】启动窗口的玩法
【qt】启动窗口的玩法
29 0
|
3月前
【qt】多窗口开发
【qt】多窗口开发
57 0

推荐镜像

更多