2014-11-05 21 views
0

我想從另一個類中指定一個插槽來執行按鈕單擊操作,如何執行此操作?在另一個類中指定一個SLOT

#include "mainwindow.h" 
#include "ui_mainwindow.h" 

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
    QObject::connect(ui->Open, SIGNAL(clicked()), 
        this,SLOT(Slotindiffrentclass); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

謝謝。

+1

搜索和[閱讀](http://qt-project.org/doc/qt-5/signalsandslots.html)[文件](HTTP:// QT -project.org/doc/qt-5/qobject.html#connect)是一個好的開始。 – 2014-11-05 08:25:34

回答

0

使用類似:

QObject::connect(ui->Open, SIGNAL(clicked()), 
       differentClass,SLOT(Slotindiffrentclass); 
+1

你可能想說'differentClass'是一個指向Slotindifferentclass類的實例的指針。 – 2014-11-05 08:22:38

+0

'differentClass'是指向slot_'Slotindifferentclass'的類的實例的指針。 – ABCplus 2014-11-05 08:25:31

+0

謝謝,雖然它與第三行連接有關。我試圖在主窗口類中創建一個FileProcessor類的新實例,並告訴我它的和未聲明的標識符。像FileProcessor p; QObject :: connect(ui-> Open,SIGNAL(clicked()), p,SLOT(Slotindiffrentclass); – user4217633 2014-11-05 08:37:28

0

connect中的第三個參數是指向插槽所在類的指針。所以只需用指向所需類的指針替換this即可。

相關問題