linux下qt5.7信号与槽之文本框同步
//此乃主函数部分,全W全为自动生成
#include "signal.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
signal w;//信号对象创立,自动生成,此乃框架之运用
w.show();
return a.exec();
}
//此为自动生成函数的声明,信号可以手动添加声明
#ifndef SIGNAL_H
#define SIGNAL_H
#include <QMainWindow>
namespace Ui {
class signal;//使用UI创立界面对象
}
class signal : public QMainWindow
{
Q_OBJECT
public:
explicit signal(QWidget *parent = 0);
~signal();
//添加
signals :
void sng_text_text(QString);//这个可以不用
private slots:
void on_btn_connnect_clicked();//相应按键的槽函数,添加按钮控件后信号与与之间建立连接后,点击转到曹,,添加槽函数
void on_btn_disconnect_clicked();
void on_pushButton_clicked();
void on_pushButton_2_clicked();//这些槽函数的声明全部通过控件处自动声明,
void on_btn_connect1_clicked();
void on_btn_connect2_clicked();
//添加结束此些函数与
private:
Ui::signal *ui;
};
//此部分为函数定义需自己写
#endif // SIGNAL_H
#include "signal.h"
#include "ui_signal.h"
signal::signal(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::signal)//创建
{
ui->setupUi(this);
}
signal::~signal()
{
delete ui;
}
//此些函数为参函数的定义,定义内部内容为手写,其他全为自动生成
void signal::on_btn_connnect_clicked()//这个为按键点击信号函数,信号为click函数,此函数为槽函数函数,其他几个类似
{
connect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->text_output,SLOT(setText(const QString&)));
connect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->output_text3,SLOT(setText(const QString&)));
connect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->output_text2,SLOT(setText(const QString&)));
//connect链接两个控件,信号来文本框的改变,槽函数为settext函数,都为内置
}
void signal::on_btn_disconnect_clicked()
{
disconnect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->text_output,SLOT(setText(const QString&)));
//断开对象中的两个控件信号与曹之间的链接
}
void signal::on_btn_connect1_clicked()
{
disconnect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->output_text2,SLOT(setText(const QString&)));
}
void signal::on_btn_connect2_clicked()
{
disconnect(ui->text_input,SIGNAL(textChanged(const QString&)),ui->output_text3,SLOT(setText(const QString&)));
}
//此部分为qt界面处,最后结果等。控件不能选错,否则会导致有些内置信号不能添加