【Qt教程】1.4 - Qt5第一个控件 按钮QPushButton 指定父对象

目录

一、按钮 QPushButton

1.1 按钮帮助手册

1.2 按钮控件常用API

1.3 创建一个按钮

1.4 指定父对象 / 设置父窗口

1.5 其他API演示


一、按钮 QPushButton

1.1 按钮帮助手册

QPushButton Class

The QPushButton widget provides a command button. More...

Header:

#include <QPushButton>

qmake:

QT += widgets

Inherits:

QAbstractButton

Inherited By:

QCommandLinkButton

使用按钮,需要包含头文件 #include <QPushButton>。

 

1.2 按钮控件常用API

  • 按钮控件常用API:

创建按钮:在 .h文件栈中创建,QPushButton btn1;(或者堆中指针,QPushButton *btn1;btn1 = new QPushButton(this);)

指定父对象 / 设置父窗口:btn1.setParent(this);(或者:QPushButton *btn = new QPushButton(this);)

设置文本:btn1.setText("123");

设置位置:btn1.move(宽, 高);

重新指定按钮大小:btn1.resize(宽, 高);

显示 / 隐藏:btn1.show();btn1.hide();

 

  • 窗口常用API:

重新指定窗口大小:resize(宽, 高);

设置窗口固定大小(不可缩放):setFixedSize(宽, 高);

设置窗口标题:setWindowTitle("Hello!");

 

1.3 创建一个按钮

  • 方法一:堆中创建。构造函数里,堆中new对象,配置,show显示。(不建议使用这种方式,这种写法即使指定了父对象也需要show才能显示。而且在.h文件中找不到控件对象,不利于长代码的阅读
.cpp构造函数中:
// 创建一个按钮
QPushButton *btn = new QPushButton;
// 显示文本
btn->setText("123");
// show,以顶层方式弹出窗口控件
btn->show();

 

  • 方法二:堆中创建。.h中创建指针,.cpp构造函数堆中申请内存。(指定父对象后可省略show();
.h文件中,public/private作用域下:
QPushButton *btn1;

.cpp构造函数中:
btn1 = new QPushButton;
btn1->setText("123");
btn1->show();

 

  • 方法三:栈中创建。.h文件里栈中创建对象,构造函数中对按钮控件进行配置。(指定父对象后可省略show();
.h文件中,public/private作用域下:
QPushButton btn1;

.cpp构造函数中:
btn1.setText("123");
btn1.show();

 

注意

  • 代码不要写在main.cpp里,不利于阅读。都要写在窗口的类文件中(weight.h.cpp)。
  • 构造函数里不能创建对象,因为是局部,执行完就会被释放掉,故得不到显示。

 

  • 现象:分成了两个窗口弹出,因为没有设置按钮的父对象,所以是单独弹出一个窗口显示按键。

 

这显然不是预期的结果,我们想让按键显示在主窗口上,这时需要将按键指定父对象。

 

1.4 指定父对象 / 设置父窗口

指定父对象,方法有2种:

1)setParent();

2)通过构造函数传参

指定父对象后,只要父对象显示,包含的子对象也会跟着一起显示。(所以按钮控件不需要单独show)

1)setParent();

.h文件中,public/private作用域下:
QPushButton btn1;

.cpp构造函数中:
btn1.setParent(this);
btn1.setText("123");

 

2)通过构造函数传参

.h文件中,public/private作用域下:
QPushButton *btn1;

.cpp构造函数中:
btn1 = new QPushButton(this);
btn1->setText("123");

 

 

  • 现象:由于未对窗口大小进行设置,显示效果不大一样。如使用resize(320, 240);,显示效果都一样的。

 

1.5 其他API演示

 

 

    // 创建一个按钮,让btn对象依赖在 本窗口上
    btn1.setParent(this);
    // 显示文本
    btn1.setText("123");
    // 移动位置
    btn1.move(100, 100);
    // 重新指定按钮大小
    btn1.resize(100, 100);

    // 重置窗口大小
    resize(320, 240);
    // 设置固定窗口大小,不可缩放
    setFixedSize(320, 240);
    // 设置窗口标题
    setWindowTitle("Hello!");

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt Designer是一个可视化IDE,可以用于创建和编辑PyQt5应用程序的用户界面。以下是一些常见控件的使用方法: 1. QLabel控件 QLabel控件可以显示文本和图像。在Qt Designer中,您可以使用“Label”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置文本和图像。 2. QPushButton控件 QPushButton控件是一个按钮控件,可以在用户单击时触发操作。在Qt Designer中,您可以使用“Push Button”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置按钮的文本和操作。 3. QLineEdit控件 QLineEdit控件是一个单行文本框控件,可以用于输入文本。在Qt Designer中,您可以使用“Line Edit”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置文本框的默认文本和其他属性。 4. QComboBox控件 QComboBox控件是一个下拉列表框控件,可以用于选择一个选项。在Qt Designer中,您可以使用“Combo Box”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置下拉列表框的选项。 5. QCheckBox控件 QCheckBox控件是一个复选框控件,可以用于选择一个或多个选项。在Qt Designer中,您可以使用“Check Box”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置复选框的文本和默认状态。 6. QRadioButton控件 QRadioButton控件是一个单选按钮控件,可以用于选择一个选项。在Qt Designer中,您可以使用“Radio Button”工具栏按钮将其添加到窗体中。然后,您可以在属性编辑器中设置单选按钮的文本和默认状态。 这些是一些常见的控件。在Qt Designer中,您可以使用其他工具栏按钮添加其他控件,并使用属性编辑器设置它们的属性。在添加控件之后,您可以使用“Preview”按钮预览窗体,并在需要时进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值