[問題] Qt .ui檔是否能和setLayout()並用?

看板C_and_CPP (C/C++)作者 (JoshNash)時間13年前 (2012/08/10 23:41), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
不好意思, 小弟C++實在是弱得要命, 寫QT更是第一次, 這邊有個問題想請問大家. 問題如標題, 用的是Qt Creator (可用滑鼠拉介面的那種) 正想辦法寫出一個GUI application 是這樣的, 我想寫一個介面, 左側是比較靜態的 (如文字按鈕等) 按下某button後, 右側空白可以依照左側填入的數字等, 產生不同的介面 左側的設計我起先是用.ui檔慢慢拉出來的 而右側因為要動態產生不同介面, 使用了QGridLayout, 然後用new QPushButton 再把它addWidget進layout中 這樣run出來, 完全看不到右側所設計的, 而在application output有顯示 QWidget::setLayout: Attempting to set QLayout "" on Widget "Widget", which already has a layout 我在想是不是這個的原因 因為我有同時使用 ui->setupUi(this); 和 setLayout(layout); 若是拿掉前者的code即可顯示右側的UI了 不過這樣左側的UI完全就消失了阿阿!!! 難道只能認命把左側的UI乖乖用new的方式慢慢寫嗎? 麻煩板友們指點小弟一下 ! Thanks!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.68.159

08/10 23:45, , 1F
所謂左側右側有分開成兩個QFrame之類的容器嗎? 還是同一個?
08/10 23:45, 1F

08/10 23:46, , 2F
沒有! 是在同個tab底下
08/10 23:46, 2F

08/10 23:46, , 3F
同一個
08/10 23:46, 3F

08/10 23:50, , 4F
那就拆成兩個,讓右側那個容器去setLayout
08/10 23:50, 4F

08/11 00:03, , 5F
在你的 ui 中在右側放一個 QWidget, 設定那個 QWidget 的
08/11 00:03, 5F

08/11 00:04, , 6F
layout (好像有點難懂...我語言程度不好)
08/11 00:04, 6F

08/11 00:34, , 7F
http://d.pr/f/dFEK 順手弄了一個簡單的例子
08/11 00:34, 7F

08/11 00:52, , 8F
謝謝兩位的回覆, 大概了解概念了!
08/11 00:52, 8F

08/11 00:53, , 9F
特別感謝年輕天王星提供清楚明瞭的example!!!!
08/11 00:53, 9F
文章代碼(AID): #1G9IkZOw (C_and_CPP)
文章代碼(AID): #1G9IkZOw (C_and_CPP)