QT 信号和槽的代码示例

使用到的函数及关键字

1、信号和槽的关联函数

bool QObject::connect (constQObject * sender, const char * signal, const QObject * receiver, const char * member);

2、关键字

signals、slots

3、代码事例

头文件

class MainWindow : public QMainWindow
{
    Q_OBJECT
 
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
 
signals:
    void mySignal();
 
 
private slots:
    void mySlot();
 
 
    void on_pushButton_clicked();
 
 
private:
    Ui::MainWindow *ui;
    Obj* m_obj;
};


源文件

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
 
    QObject::connect(this,SIGNAL(mySignal()),this, SLOT(mySlot()));
}
 
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
void MainWindow::on_pushButton_clicked()
{
    //QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    emit mySignal();
}
 
 
void MainWindow::mySlot()
{
    QMessageBox::information(NULL, "Title2", "Content2", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
}


猜你喜欢

转载自blog.csdn.net/huangjiazhi_/article/details/81054329