这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» DIY与开源设计» 开源硬件» 跟machinnneee一起玩基于linux的QT编程(第八篇 初探信号与槽)-

共3条 1/1 1 跳转至

跟machinnneee一起玩基于linux的QT编程(第八篇 初探信号与槽)----基于SIN210

专家
2016-09-08 15:37:17 打赏

广大的坛友,最近由于时间关系,没有及时来更新。对大家说声sorry。

今天为大家介绍一下 Qt编程中信号与槽的概念。 对于信号与槽的解释,更多的信息可以找度娘看看。在我的理解中,首先要明白一件事情,在Qt编程中,要想实现一个事情(槽)必须有触发条件(信号)。

首先看一下简单的例子:

#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->progressBar->setValue(0); connect(ui->horizontalSlider,SIGNAL(valueChanged(int)), ui->progressBar,SLOT(setValue(int))); //disconnect(); } MainWindow::~MainWindow() { delete ui; }




关键词: machinnneee linux Qt 信号

专家
2016-09-08 15:41:59 打赏
2楼
//在本例子中,在ui界面上添加了progressbar 和horizontalSlider, //通过 connect(ui->horizontalSlider,SIGNAL(valueChanged(int)), // ui->progressBar,SLOT(setValue(int))); //实现信号与槽的通信。信号与槽的典型应用为: // connect(对象1,SIGNAL(什么条件下触发), // 对象2,SLOT(触发的结果为什么); #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //在ui界面中将progressbar的数值设置为0 ui->progressBar->setValue(0); //连接progressbar 和horizontalSlider connect(ui->horizontalSlider,SIGNAL(valueChanged(int)), ui->progressBar,SLOT(setValue(int))); //如果将两者不连接,那么两个wigit没有任何关系了 //disconnect(); } MainWindow::~MainWindow() { delete ui; }


专家
2016-09-08 15:43:03 打赏
3楼
最终,在用鼠标拖动 horizontalSlider时progressbar 会提示数值的变化。
更更加深入的讲解见后面介绍。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]