赞
踩
目录
#include <QLineEdit>
QLineEdit *edit = new QLineEdit(this);
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");
- }
运行程序
这个按钮是可以点击的,但我们现在是不能点击的,如果想让点击事件发生后,会给我们反馈出一些情况,那么可以使用信号槽机制。
信号槽本质就是给按钮的点击操作关联上一个处理函数,如果你学过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
运行代码。
初始界面
点击按钮之后
- #include <QPushButton> // 定义头文件
-
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::Widget)
- {
- ui->setupUi(this);
- QPushButton *btn = new QPushButton(this); // 创建按钮对象
- btn->setText("string"); // 填写按钮中的内容
-
- }
在学习C/C++的时候,给变量,函数,文件,类等起名字的时候:
Qt中,偏好使用大写字母来进行单词分割的,如 studentCount这种小驼峰或QApplication大驼峰
函数,变量一般用小驼峰来命名,类一般用大驼峰来命名。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。