Qt初识 - 编辑框 | 按钮 | 命名规范

时间:2024-03-17 18:23:17

目录

一、编辑框

(一) Designer中的编辑框

(二) Code中的编辑框

二、按钮

(一) Designer中的按钮

(二) Code中的按钮

三、Qt中的命名规范


一、编辑框

(一) Designer中的编辑框

  1. 进入到Designer界面中

  1. 找到Input Widgets目录

  1. 找到该目录下的

  2. 将这个控件拉出去

  3. 双击就可以开始填写内容了。

  4. 这是一个编辑框,代码运行起来之后,可以在弹出的界面上修改内容。

(二) Code中的编辑框

  1. 引入头文件 #include <QLineEdit>
  2. 在堆区开辟一块控件QLineEdit *edit = new QLineEdit(this);
  3. 设置文本edit->setText("HAVE A NICE DAY");

Qt的控件操作基本都是类似的。

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QLineEdit *edit = new QLineEdit(this);
    edit->setText("HAVE A NICE DAY");
}

运行程序

二、按钮

(一) Designer中的按钮

  1. 在Designer中找到 Buttons目录

  2. 找到PushButton按钮

  3. 拖到界面上去

  4. 保存,运行代码,我们的程序就会出现一个PushButton的按钮

这个按钮是可以点击的,但我们现在是不能点击的,如果想让点击事件发生后,会给我们反馈出一些情况,那么可以使用信号槽机制。

信号槽本质就是给按钮的点击操作关联上一个处理函数,如果你学过js,大概很快就能想到***.addEventListenner("click", function(){/*代码实现*/})。当你点击按钮的时候,会去执行这个函数。


简单来展示一下信号槽。

#include "widget.h"
#include "ui_widget.h"

#include <QLineEdit>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    connect(ui->pushButton, &QPushButton::clicked, this, &Widget::handleClick);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handleClick()
{
    ui->pushButton->setText("hello world");
}
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLabel>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void handleClick(); // 在头文件中声明函数

private:
    Ui::Widget *ui;
    QLabel *label;
};
#endif // WIDGET_H

1. ui->pushButton 从刚刚设计的ui界面中访问当设计的按钮,按钮的名字不一定是这个,你也可以

自己更改名字,

2. &QPushButton::clicked 点击按钮的时候,自动触发这个信号

3. this:谁来处理这个信号

4. &Widget::handleClick 如何处理这个信号

打开ui,单击已经设计好的按钮,在右下角找到下面这个属性框,objectName中的名字就是ui->pushButton


运行代码。

初始界面

点击按钮之后

(二) Code中的按钮

#include <QPushButton> // 定义头文件

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton *btn = new QPushButton(this); // 创建按钮对象
    btn->setText("string"); // 填写按钮中的内容

}


三、Qt中的命名规范

在学习C/C++的时候,给变量,函数,文件,类等起名字的时候:

  1. 起的名字要有描述性,不要使用abc,cba这种没有意思的名字来描述
  2. 如果名字比较长,由多个单词构成的,就需要使用适当的方式来进行区分不同单词。如student_count等

Qt中,偏好使用大写字母来进行单词分割的,如 studentCount这种小驼峰或QApplication大驼峰

函数,变量一般用小驼峰来命名,类一般用大驼峰来命名。