QT从入门到实战x篇_03_创建及设置pushbutton控件:代码实现UI界面编写、控件设置。 问题:在system编码下汉字显示为乱码

承接上文: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编码下汉字显示为乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值