首頁 >後端開發 >Python教學 >如何防止Qt Designer在修改UI時覆蓋自訂程式碼?

如何防止Qt Designer在修改UI時覆蓋自訂程式碼?

DDD
DDD原創
2024-12-25 16:13:10674瀏覽

How to Prevent Qt Designer from Overwriting Custom Code During UI Modifications?

Qt Designer 覆蓋問題:在UI 變更期間保留程式碼修改

使用Qt Designer 設計GUI 時,通常的做法是對特定功能生成的程式碼進行更改。但是,這些修改可能會在後續 UI 變更時遺失。

解決方案:

為避免此問題,建議將 UI 設計與自訂程式碼分開。這可以透過建立繼承自 Qt Designer 類別並包含您想要保留的邏輯的新類別來實現。

例如,如果 Qt Designer 設計名為Ui_Design.py,則以下程式碼結構可以使用:

建立一個單獨的文件,logic.py,來實現自訂邏輯並將設計用作如下:

採用這種方式,即使UI設計被修改並重新生成,logic.py中的自訂程式碼也將保持不變。

附加說明:自訂邏輯的類別結構

為了有效地實現這一點,自訂邏輯類別必須遵循特定的結構:

其中:

  • PyQtClass 取決於所使用的Qt Designer模板(例如,QMainWindow 表示MainWindow 模板)
  • DesignClass 是設計文件中的類別(例如, Ui_MainWindow)

保留關閉訊息框程式碼的範例:

保留關閉訊息框程式碼的範例:

此實作確保您的自訂邏輯(例如closeEvent 處理程序)保留不受使用 Qt Designer 進行的後續 UI 變更的影響。

以上是如何防止Qt Designer在修改UI時覆蓋自訂程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn