2012年3月30日

QT GUI視窗程式關閉的函式

問題:
在QT上,若使用GUI視窗程式開發時,有時會遇到不想使用右(左)上角的叉按鈕
而是另外設定一個Button或別的方是關閉,此時你就會需要用到SIGNAL-SLOT方式

但是對應的SLOT函式是什麼呢?  然後傳入的類別又是什麼呢? 


解決方式:

其實,當你在開啟GUI視窗程式時,你會發現的你Mainwindow是繼承自QMainwindow

但是去QT文件中查詢,卻不會找到相對應的關閉字詞。

其實關閉的函式是位在QMainwindow的上層的QWidget中的close()






所以我們若希望透過別的方式關閉視窗的話就可以這樣下


QObject::connect(你要的類別,SIGNAL(你要的SIGNAL函式),this,SLOT(
close()));

由於是繼承下來的,所以在子類別中也會找到,因此傳入this即可。


若有錯誤請糾正。

沒有留言:

ShareThis