[問題] 寫gui的程式碼架構

看板C_and_CPP作者 (Ar藤)時間13年前 (2011/12/28 07:49), 編輯推噓4(408)
留言12則, 5人參與, 最新討論串1/3 (看更多)
目前寫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)

12/28 17:41, , 1F
不知道QSignalMapper有沒有符合你的需求
12/28 17:41, 1F

12/28 20:02, , 2F
我記得可以用第二個寫法歐
12/28 20:02, 2F

12/28 22:39, , 3F
純推GTK3 builder,他不產生code,而是吃xml檔
12/28 22:39, 3F

12/28 22:39, , 4F
直接生出畫面,再用widget id去抓回來做進一步操作
12/28 22:39, 4F

12/28 22:40, , 5F
有點寫網頁的感覺了,QT系應該也有吧qtdesigner?
12/28 22:40, 5F

12/28 22:44, , 6F
GtkBuilder GTK-2.12 之後就有了,很方便 XD
12/28 22:44, 6F

12/28 22:47, , 7F
不過qt我沒用過XD 我po一下之前整理的gtk歷史好了..
12/28 22:47, 7F

12/28 23:09, , 8F
我說錯了 qt好像沒有 我原本以為musescore是這樣動的XD
12/28 23:09, 8F

12/28 23:10, , 9F
另外,gtk自動計算元件大小的功能也非常方便
12/28 23:10, 9F

12/28 23:11, , 10F
就切格子切好之後可以設定那些格子要自動擴張 就完成了
12/28 23:11, 10F

12/29 00:03, , 11F
Qt也是產生xml檔阿 人家在問Qt你回一堆gtk
12/29 00:03, 11F

12/29 00:32, , 12F
謝謝大家 C大沒關系啦XD 概念上一樣就好
12/29 00:32, 12F
文章代碼(AID): #1E-ieHz4 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1E-ieHz4 (C_and_CPP)