Qt程式設計中QDiaog的ESC建

2021-07-04 22:03:11 字數 573 閱讀 6552

最近使用qdialog時,按了下esc鍵,導致qdialog被關閉,而後續的資料處理出現了問題。原來在qdialog中按下esc鍵會預設呼叫reject()方法而不是closeevent(qcloseevent*event)或者其他事件。

處理的方法:

(注意:qdialog的close()函式也是會呼叫reject()函式和關閉函式,若在reject()中直接呼叫close()也會無法關閉,要先呼叫hide())

(1)重新實現reject()方法

void testdialog::reject()

2、重寫keypressevent(qkeyevent *event)

void testdialog::keypressevent(qkeyevent *event)

}

以上者兩種方法都可以解決esc鍵觸發的問題,當然這只是在qdialog中是這種情況。在qwidget中沒有reject ()和accept()槽函式,但可以通過keypressevent(qkeyevent*event)來制定esc鍵的功能。

QT中的SOCKET程式設計

作業系統 arm linux qt版本 qt 2.3.2 for linux gui qtopia 在linux下進行網路程式設計,我們可以使用linux提供的統一的套接字介面。但是這種方法牽涉到太多的結構體,比如ip位址,埠轉換等,不熟練的人往往容易犯這樣那樣的錯誤。qt中提供的socket完全使...

QT中的SOCKET程式設計

作業系統 arm linux qt版本 qt 2.3.2 for linux gui qtopia 在linux 下進行網路程式設計,我們可以使用linux提供的統一的套接字介面。但是這種方法牽涉到太多的結構體,比如ip位址,埠轉換等,不熟練的人往往容易犯這樣那樣的錯誤。qt中提供的socket完全...

QT中的SOCKET程式設計

作業系統 arm linux qt版本 qt 2.3.2 for linux gui qtopia 在linux下進行網路程式設計,我們可以使用linux提供的統一的套接字介面。但是這種方法牽涉到太多的結構體,比如ip位址,埠轉換等,不熟練的人往往容易犯這樣那樣的錯誤。qt中提供的socket完全使...