为了更加深入的理解信号和槽的绑定
我们使用以下2种方法来实现绑定:
比如我们在QT degisnger界面中添加一个label控件和horizontalScrollBar控件,我们想实现,拖动horizontalScrollBar进度条,label中显示相应的进度百分比。
我们进行如下操作
这个时候,我们鼠标选中horizontalScrollBar这个控件,拖动鼠标左键
这时候我们就将进度条的变化与label的显示绑定起来了,我们再按F3退出绑定模式,进入到正常的UI的模式了。
动图如下
我们可以运行一下工程,如下,我们发现可以绑定了。
那么如果我们要绑定多个控件之间的信号和槽的关系怎么来绑定呢,这时候我们就需要用编码的方式了,我们要用到connect函数了
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- //我希望能自主的控制控件之间的通信交互
- //connect(ui->lineEdit,&QLineEdit::textChanged,ui->label_2,&QLabel::setText);
-
- //多个控件对应
- QLineEdit *lineEdit[]={ui->lineEdit,ui->lineEdit_2};
- QLabel *label[] = {ui->label_2,ui->label_3};
- for(int i = 0; i < 2; i++)
- {
- connect(lineEdit[i],&QLineEdit::textChanged,label[i],&QLabel::setText);
- }
- }
运行看一下,我们发现就可以了