2011-12-20 49 views
-1

我創造了這個插槽:QFileDialog :: getOpenFileName()在插槽功能中不起作用?

public slots: 
    void openNSelect(); 

然後在功能:

QFileDialog::getOpenFileName(this,tr("select file"),"/home/",tr("text file(*.txt)")); 

它不顯示我的對話框中,如果我寫在一些其他的功能線像在QMainWindow的構造,它確實向我展示了這個窗口。該項目是使用帶有mainwindow對象的kdevelop創建的。

回答

1

進行一些調試以確保插槽實際上正在觸發。有一半時間,它在信號/插槽連接中發生錯誤,無法連線。

如果不是發佈更多的代碼,所以我們可以得到一個更好的主意。

+0

嗨,我試圖調試它,控制檯說:警告:沒有這樣的插槽qfTools:openNSelect() – user1051003

+0

順便說一句,可以把我所有的插槽功能放在另一個cpp中嗎?如slot_function.cpp?警告說無法在qfTools.cpp中找到插槽函數,這是奇怪的,我在slot_function.cpp中編寫了插槽函數,並且聲明都在qfTools.h中。 – user1051003

+0

好的,所以連接不起作用。沒有看到你的代碼很難準確地知道出了什麼問題。向我們展示connect()行並告訴我們在哪個對象中調用它。 –