程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Qt信號與槽自動關聯機制,qt信號關聯

Qt信號與槽自動關聯機制,qt信號關聯

編輯:C++入門知識

Qt信號與槽自動關聯機制,qt信號關聯


參考鏈接1:http://blog.csdn.net/skyhawk452/article/details/6121407

參考鏈接2:http://blog.csdn.net/memory_exception/article/details/50953005

 

信號與槽可以通過使用手寫代碼顯式的實現關聯 ,也可以運用 QMetaObject 類規定的槽 函數命名范式來實現自動關聯。

  • 自動關聯
    • 為了實現槽函數自動進行關聯,對於Qt窗口部件已經提供的信號,可按照以下規范命名:
       void on_<窗口部件名稱>_<信號名稱>_(<信號參數>);
    • 看如下實例:
      #include "mainwindow.h"
      #include "ui_mainwindow.h"
      
      MainWindow::MainWindow(QWidget *parent) :
          QMainWindow(parent),
          ui(new Ui::MainWindow)
      {
          ui->setupUi(this);
          QString a = "calculate";
          setWindowTitle(tr("%1").arg(a));
          //connect(ui->calButton,SIGNAL(clicked()),this,SLOT(on_calButton_clicked()));
          //QMetaObject::connectSlotsByName(this);
      }
      
      MainWindow::~MainWindow()
      {
          delete ui;
      }
      
      void MainWindow::on_calButton_clicked()
      {
          int a = (ui->firstLineEdit->text()).toInt() + (ui->secondLineEdit->text()).toInt();
          ui->resultLineEdit->setText(tr("%1").arg(a));
      }

       

    • 若未能自動關聯,需要顯示調用connectSlotByName(),調用方法如上注釋處,詳細請參照官方幫助文檔:
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved