使用QT中的Signal&Slot机制进行传值


1 使用QT中的Signal&Slot机制进行传值


在Dialog中声明一个信号,当用户点击OK时传递LineEdit中的内容到mainWindow中
signals:  
    void  sendData(QString);


在按钮的click事件中:
emit sendData(ui->lineEdit->text()); 


2 在MainWindow中则需要声明接收的槽函数


private slots:  
    void receiveData(QString data);  
在MainWindow的构造函数中创建了一个Dialog对象,并连接了信号和槽.

Dialog *dlg = new Dialog;  
//关联信号和槽函数  
connect( dlg, SIGNAL(sendData(QString)), this, SLOT(receiveData(QString)) ); 



3 用QStackedWidget,怎么实现窗口切换?

#include 


QStackedWidget m_pStackwidget = new QStackedWidget();
m_pStackwidget->addWidget(CenterWidget); //QLabel 也可以被当作QWidget被addWidget()
m_pStackwidget->addWidget(WorkWidget);


m_pStackwidget->setCurrentWidget(WorkWidget); //From CenterWidget to WorkWidget




你可能感兴趣的:(QT,signal)