看板 C_and_CPP 關於我們 聯絡資訊
目前寫gui時常遇到一個問題 我現在以qt撰寫,用designer畫好ui之後 假設現在大視窗中有幾個部份(widget) 而某些事件會使得這些widget有些改變或者是widget中的某些地方改變 所以function的命名可能會變成下面這樣 updateCheckedStateInWidgetXXX updateCheckedStateInWidgetYYY updateCheckedStateInWidgetZZZ clear123InWidgetYYY clear456InWidgetZZZ 也就是說如果不寫Widget名稱,很難看出這個function到底作用在哪個widget 加上widget名稱又顯得非常囉嗦 比較直覺的寫法應該是 WidgetXXX->updateCheckedState() WidgetYYY->updateCheckedState() WidgetZZZ->updateCheckedState() WidgetYYY->clear123() WidgetZZZ->clear456() 但designer直接拉出來的widget沒辦法這樣寫 有想過可以自創物件把designer產生的widget ptr傳進去 這樣就可以模擬上方的寫法 或者是打從一開始就不要使用designer產生的code 請問大家採取的作法是什麼呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.192.162.252 ※ 編輯: Arton0306 來自: 203.192.162.252 (12/28 15:51)
ables:不知道QSignalMapper有沒有符合你的需求 12/28 17:41
chchwy:我記得可以用第二個寫法歐 12/28 20:02
buganini:純推GTK3 builder,他不產生code,而是吃xml檔 12/28 22:39
buganini:直接生出畫面,再用widget id去抓回來做進一步操作 12/28 22:39
buganini:有點寫網頁的感覺了,QT系應該也有吧qtdesigner? 12/28 22:40
Bencrie:GtkBuilder GTK-2.12 之後就有了,很方便 XD 12/28 22:44
buganini:不過qt我沒用過XD 我po一下之前整理的gtk歷史好了.. 12/28 22:47
buganini:我說錯了 qt好像沒有 我原本以為musescore是這樣動的XD 12/28 23:09
buganini:另外,gtk自動計算元件大小的功能也非常方便 12/28 23:10
buganini:就切格子切好之後可以設定那些格子要自動擴張 就完成了 12/28 23:11
chchwy:Qt也是產生xml檔阿 人家在問Qt你回一堆gtk 12/29 00:03
Arton0306:謝謝大家 C大沒關系啦XD 概念上一樣就好 12/29 00:32