作者MAGICXX (逢甲阿法)
看板Python
標題Re: [問題] QT designer UI設計問題
時間Mon Feb 8 14:38:09 2021
1F:→ gigigigi: 我現在是ui產生出來一個UI.py 之後main.py import 進來 02/07 12:42
2F:→ gigigigi: 但是我想完全不去改動UI.py 因為後續designer修改會在 02/07 12:44
3F:→ gigigigi: 產生新的UI.py... 但button元件需要綁定函數 02/07 12:45
4F:→ gigigigi: button.clicked.connect(xxx函數)..這樣需要改動在UI.py 02/07 12:46
^^^^^^^^
我覺得這個是你問題的重點
這個XXXX函數 你可以直接在Designer裡面設定好
他的物件名稱只要設定好 就可以了
你的ui.py裡面都不用改
詳細的地方在Designer介面右手邊的Property Editor底下的QObject的objectName
像是按鈕預設的名字是pushButton
就會變成
pushButton.clicked.connect(pushButton)
或者改objectName改成btn_a
btn_a.clicked.connect(btn_a)
這樣子即使你在Designer裡面又重新編輯了ui檔案
轉成py檔的時候一樣就直接能在main裡面使用那個按鈕
只要你按鈕的objectName不變 就完全不用更動ui.py了
5F:→ gigigigi: 不知道有沒有什麼作法可以完全不動UI.py 又可以新增 02/07 12:46
6F:→ gigigigi: connect 類似需求... 如果去繼承UI.py 的 02/07 12:48
7F:→ gigigigi: class Ui_MainWindow(object) 有辦法作到嘛? 02/07 12:48
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.134.51.64 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1612766292.A.AC3.html
※ 編輯: MAGICXX (140.134.51.64 臺灣), 02/08/2021 14:38:36
※ 編輯: MAGICXX (140.134.51.64 臺灣), 02/08/2021 14:49:55
8F:推 fiorentino: 這個做法才比較簡單 02/10 13:01