承接上文:QT从入门到实战x篇_xx_创建第一个Qt工程:创建工程、代码含义、模块、命名规范、快捷键、帮助文档快捷方式
本篇主要讲Qt中如何创建常用的按钮:
总结放于前:一个按钮其实就是一个QPushButton类下的对象
如果只是创建出对象,是无法显示到窗口中的,所以我们需要依赖一个父窗口,也就是指定一个父亲利用setParent函数即可,如果想设置按钮上显示的文字利用setText,移动按钮位置用move
对于窗口而言,我们可以修改左上角窗口的标题setWindowTitle,重新指定窗口大小:resize,或者设置固定的窗口大小setFixedSize
文章目录
1. 创建一个pushbutton
需要使用到QPushButton类,在widget.cpp中添加如下:
#include "widget.h"
#include <QPushButton> //按钮控件的头文件
Widget::Widget(QWidget *parent)
: QWidget(parent) //初始化列表,在.h文件中parent值为nullptr
{
//创建一个按钮
QPushButton* btn=new QPushButton;
btn->show();//显示button,show()函数继承自widget类中
}
运行之后会发现:我创建的pushbutton没有附加到原始的界面中。
这是因为show()是将界面以顶层方式弹出窗口控件。一般不使用
2. 那怎么添加到原始界面中呢?
//创建一个按钮
QPushButton* btn=new QPushButton;
//让btn对象依赖在主界面中,即使指针指向当前的对象
btn->setParent(this);//this指向的即为当前对象指针
运行结果:
3. 设置按钮上的显示文本
显示文字乱码,后期解决了再添加如何解决乱码问题的教程-将编码方式改为utf-8应该就可以解决(20240412)
//创建一个按钮
QPushButton* btn=new QPushButton;
//让btn对象依赖在主界面中,即使指针指向当前的对象
btn->setParent(this);//this指向的即为当前对象指针
//设置按钮上显式的文字
btn->setText("第一个按钮");
4. 以其他函数重载的形式创建按钮
注释掉前面第一个按钮的代码后添加如下代码:
//创建第二个按钮,按照控件大小创建窗口
QPushButton* btn2=new QPushButton("第二个按钮",this);
这个时候我们可以重载窗口大小
//重置窗口大小
resize(600,400);
这个时候将前面注释掉的代码打开,两个按钮会发现重叠在一起,这是因为第二个按钮将第一个按钮覆盖掉了。
5. 我们可以将第二个按钮挪一个位置,移动控件
//移动第二个按钮
btn2->move(100,200);
6. 修改窗口标题
//设置窗口标题
setWindowTitle("第一个窗口");
7. 设置固定窗口大小
这样窗口大小就不可以手动的放大缩小了
//设置固定的窗口大小
setFixedSize(600,400);
8. 学习视频地址:创建pushbutton控件及设置:代码实现UI界面编写、控件设置。 问题:在system编码下汉字显示为乱码