2025.2.26,感謝gpt4
1.控件盒子

1. Layouts(布局)
布局控件用于組織界面上的控件,確保它們的位置和排列方式合理。
-
Vertical Layout(垂直布局)
:將控件按垂直方向排列。
建議:適合表單、設置面板、按鈕排列等。比如,登錄界面常用這個布局,將輸入框和按鈕垂直排列。
-
Horizontal Layout(水平布局)
:將控件按水平方向排列。
建議:適用于工具欄、菜單欄、水平按鈕組等。比如,導航欄、工具欄等,確保元素橫向排列,節省垂直空間。
-
Grid Layout(網格布局)
:按照網格形式排列控件。
建議:適用于復雜的表單、數據表格、網格狀的圖標展示。比如,Excel 樣式的表格或者有多個輸入項的復雜表單。
-
Form Layout(表單布局)
:適合標簽和輸入控件排列。
建議:非常適合需要標簽和輸入框并排顯示的場景,如注冊表單、用戶設置界面等。
2. Spacers(間隔)
間隔控件用于調整控件之間的距離,避免界面看起來擁擠。
-
Horizontal Spacer(水平間隔)
:增加水平間隔。
建議:適用于水平布局中控件之間需要留空的地方。例如,在按鈕組之間添加間隔,使它們看起來不那么緊湊。
-
Vertical Spacer(垂直間隔)
:增加垂直間隔。
建議:在垂直排列的控件中,如表單或列表,使用垂直間隔來增加控件之間的可讀性,避免過于擁擠。
3. Buttons(按鈕)
按鈕是用戶交互的關鍵控件,用于觸發事件或操作。
-
Push Button(推按鈕)
:普通按鈕。
建議:適用于任何觸發事件的場景,如提交按鈕、確認按鈕等,設計時要確保按鈕的文本簡潔明確。
-
Tool Button(工具按鈕)
:帶有圖標的按鈕。
建議:適用于工具欄中的按鈕,簡潔而功能明確,配合圖標使用效果更好。
-
Radio Button(單選按鈕)
:讓用戶在多個選項中選擇一個。
建議:適用于選擇項互斥的場景,例如選擇性別、支付方式等,確保一組選項不同時選中。
-
Check Box(復選框)
:允許用戶選擇多個選項。
建議:適用于允許多選的情況,例如設置項或多項選擇問題,保持復選框的間隔,避免視覺擁擠。
-
Command Link Button(命令鏈接按鈕)
:鏈接式按鈕。
建議:適用于提示用戶執行某個操作或切換到某個界面的場景,常見于對話框中,用于引導用戶進行操作。
4. Item Views(項視圖)
這些控件用于展示結構化的數據,例如列表、樹形結構等。
-
List View(列表視圖)
:顯示列表數據。
建議:適合用于簡單的條目展示,如文件列表、消息列表等。如果數據較少,可以選擇這個控件。
-
Tree View(樹視圖)
:展示層級結構數據。
建議:適用于文件管理器、目錄樹等結構化數據展示,例如文件夾中的文件和子文件夾。讓用戶更直觀地看到數據層級。
-
Column View(列視圖)
:列形式展示數據。
建議:適合展示分列的數據,如聯系人信息表、商品展示列表等。
5. Containers(容器)
容器控件用于將多個控件組織在一起,形成模塊化的界面。
-
Group Box(分組框)
:將多個控件分組在一起。
建議:適用于將控件分塊,增強界面的結構感。例如,將相關設置放在一個可折疊的分組框中。
-
Scroll Area(滾動區域)
:提供滾動區域用于顯示更多內容。
建議:適用于內容較多且超出顯示區域的情況,如設置面板、長表單等,確保用戶能滾動查看所有內容。
6. Input Widgets(輸入控件)
這些控件主要用于接收用戶的輸入或提供選擇。
-
Combo Box(下拉框)
:讓用戶從一組選項中選擇。
建議:適用于有限的選擇項,例如國家選擇、類別選擇等,不占用過多空間。
-
Font Combo Box(字體選擇框)
:讓用戶選擇字體。
建議:適合設計類應用,如文本編輯器,允許用戶選擇字體。
-
Line Edit(單行文本框)
:輸入單行文本。
建議:適用于較短的文本輸入場景,如用戶名、郵箱等。使用時可以設置合適的提示信息(PlaceHolder)。
-
Text Edit(多行文本框)
:輸入多行文本。
建議:適用于輸入較長的內容,例如評論框、留言板。
-
Spin Box(數值輸入框)
:輸入數字。
建議:適用于需要限制數值范圍的輸入場景,如數量選擇、年齡設置等,提升用戶體驗。
-
Double Spin Box(浮動數值輸入框)
:支持浮動小數點的數值輸入。
建議:適用于需要小數輸入的場景,如價格輸入、測量值等。
-
Time Edit(時間輸入框)
:輸入時間。
建議:適用于涉及時間設置的場景,例如計時器、時間選擇器。
-
Date Edit(日期輸入框)
:輸入日期。
建議:適用于事件日期、生日輸入等需要選擇日期的功能。
-
Dial(旋鈕控件)
:旋轉控制器,選擇數值。
建議:適用于調節音量、亮度等功能,增強交互感。
-
Horizontal/Vertical Slider(水平/垂直滑塊)
:通過滑塊選擇數值。
建議:適用于調節音量、亮度、進度條等,直觀且易于操作。
-
Key Sequence Edit(鍵序列編輯框)
:捕獲鍵盤輸入序列。
建議:適用于快捷鍵設置功能,允許用戶自定義快捷鍵。
7. Display Widgets(顯示控件)
這些控件用于顯示靜態信息或提供視覺反饋。
-
Label(標簽)
:顯示文本或圖像。
建議:適合標題、描述文本或圖片展示,使用時確保標簽文本簡潔明了。
-
Text Browser(文本瀏覽器)
:顯示多行文本,支持富文本格式。
建議:適用于顯示長文本、富文本或帶有鏈接的內容,如幫助文檔、新聞資訊。
-
Graphics View(圖形視圖)
:顯示圖形內容。
建議:適合圖形化應用,如繪圖工具、數據可視化展示等,增強用戶互動體驗。
-
Calendar Widget(日歷控件)
:顯示日歷并選擇日期。
建議:適合日程安排、日期選擇器等功能,清晰顯示日期和月份。
-
LCD Number(LCD 數字顯示控件)
:數字顯示控件,類似于 LCD 屏幕。
建議:適合用于顯示實時數字信息,如計時器、計數器、進度條等。
-
Progress Bar(進度條)
:顯示任務的進度。
建議:適用于文件下載、長時間運行的操作,幫助用戶了解任務進展。
-
Horizontal/Vertical Line(分隔線)
:在界面中插入水平或垂直分隔線。
建議:適用于界面分隔,增強結構感,保持界面整潔。
-
OpenGL Widget(OpenGL 控件)
:顯示 3D 圖形。
建議:適用于圖形密集型應用,如游戲、3D 繪圖工具等。
-
QQuickWidget(QQuick 控件)
:顯示 QML 內容。
建議:適用于動態界面開發,特別是結合 QML 與 C++ 的應用程序,創建現代化的界面。
中間布局的展示就不多說了
右側:
2.對象查看器
右側的界面是 Qt Creator 中的 屬性編輯器,用于查看和編輯當前選中控件的屬性。這個界面主要包含兩個部分:
?對象查看器(Object Explorer)
這個部分顯示了當前 UI 界面中的控件層級結構,你可以選擇不同的控件進行編輯。它分為兩個主要區域:
-
MainWindow:這是當前選中的控件,可以看到窗口中的 centralWidget、menubar(菜單欄)、statusbar(狀態欄)等子控件。
-
你可以通過點擊不同的控件,在下方的 屬性編輯器 中查看和修改它們的屬性。
3.?屬性編輯器(Property Editor)
這部分顯示的是 QWidget 控件的屬性,涵蓋了界面的一些外觀、行為和功能設置。以下是這些屬性的功能和建議:
-
enabled
:控制控件是否啟用。
建議:如果設置為禁用,則控件不可交互,適用于某些暫時不需要用戶操作的場景,例如禁用某些按鈕直到某個條件滿足。
-
geometry
:設置控件的位置信息和大小。
例如:[ (0, 0), 976 x 661 ] 表示控件的位置在 (0, 0),并且控件大小為 976x661 像素。
建議:你可以根據需要調整大小和位置,例如設置合適的大小來適應屏幕或容器大小。
-
sizePolicy
:控制控件如何自適應大小。
建議:設置為 Preferred,表示控件將根據父容器的大小變化來自動調整大小。適用于大多數控件,如果需要更強的靈活性,可以嘗試調整為 Expanding 或 MinimumExpanding。
感謝:qt 如何設計好布局和漂亮的界面。_qt 界面-CSDN博客
🔵Fixed:控件不能放大或者縮小,控件的大小就是它的sizeHint。
🔵Minimum:控件的sizeHint為控件的最小尺寸。控件不能小于這個sizeHint,但是可以放大。
🔵Maximum:控件的sizeHint為控件的最大尺寸,控件不能放大,但是可以縮小到它的最小的允許尺寸。
🔵Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者縮小。
🔵Expandint:控件可以自行增大或者縮小。
🔵MinimumExpanding:控件的sizeHint是它的sizeHint,但是可以使用額外的空間,也就是它會盡可能得到更多的空間。
🔵Ignored:控件的sizeHint不起作用,它會盡可能得到更多的空間。
-
minimumSize
和 maximumSize:設置控件的最小和最大尺寸。
建議:用于限制控件的尺寸,避免它在某些布局中拉伸過大或過小。
-
sizeIncrement
:定義控件在調整大小時的增量。通常用于控件在自適應大小時的步進值。設置的值會影響控件在擴展時的最小單位增量。
例如,sizeIncrement: 10 x 10 表示每次控件擴展時,寬度和高度都會增加 10 像素。
建議:如果你希望控件的大小調整非常精確或者希望用戶拖動控件時能夠按固定步長來調整尺寸,可以設置合適的 sizeIncrement 值。對于動態界面,可以將其設置為更大的增量,而對于固定布局的界面,可能需要精細的增量值來更好地控制界面的布局。
-
baseSize
:設置控件的基礎大小,即在沒有額外的布局調整時的默認大小。baseSize 用于描述控件的初始尺寸,它通常影響控件在不同布局中如何分配空間。
例如,baseSize: 100 x 100 表示控件的默認大小為 100 像素寬和 100 像素高。
建議:可以根據實際需求設置控件的初始大小。若想要控件在布局中以固定的初始大小顯示,可以設置 baseSize,這樣控件會優先采用此尺寸。如果需要自適應的布局效果,可以通過調整其他尺寸屬性來代替使用 baseSize。
-
palette
:控件的調色板,定義了控件的前景色、背景色等。
建議:如果想要自定義控件的顏色,可以通過修改這個屬性設置背景色、文本顏色等。
-
font
:設置控件的字體樣式。
建議:確保控件的字體符合應用的整體風格,特別是在需要顯示大量文本時,選擇清晰易讀的字體。
-
cursor
:設置控件的鼠標指針樣式。
建議:根據控件的功能,設置適合的指針樣式,比如設置為 PointingHandCursor 用于按鈕或鏈接。
-
mouseTracking
:啟用鼠標跟蹤。
建議:啟用時,鼠標事件將不再需要按下按鈕就能觸發。適用于需要實時跟蹤鼠標位置的場景,例如繪圖應用。
-
tabletTracking
:控制平板設備的觸摸事件跟蹤。
建議:如果你的應用需要支持觸摸設備,可以開啟此選項。
-
focusPolicy
:設置控件的焦點策略。
建議:NoFocus 表示控件不接受焦點,StrongFocus 則表示控件可以接收焦點并響應鍵盤事件,適用于表單控件。
-
contextMenuPolicy
:設置控件的右鍵菜單策略。
建議:DefaultContextMenu 表示控件顯示默認的上下文菜單,適用于大多數控件。如果有自定義的右鍵菜單,可以設置為 CustomContextMenu。
-
acceptDrops
:設置控件是否接受拖放操作。
建議:如果控件需要支持拖放功能(如拖放文件到界面中),可以啟用此選項。
-
windowTitle
:設置窗口的標題。
建議:在多窗口應用中,設置合適的窗口標題可以幫助用戶識別當前窗口的功能或狀態。
-
windowIcon
:設置窗口的圖標。
建議:為應用設置一個圖標,提升視覺效果,幫助用戶在任務欄和應用切換中區分應用。
-
windowOpacity
:設置窗口的透明度。
建議:設置透明度可以帶來更具現代感的視覺效果,通常設置為 1.0 表示完全不透明,設置小于 1.0 會使窗口部分透明。
-
toolTip
:設置控件的工具提示文本。
建議:為控件添加簡潔的提示,幫助用戶理解控件的用途。特別適用于圖標按鈕等。
-
toolTipDuration
:設置工具提示顯示的時長。
建議:如果提示信息較長,可以適當延長顯示時間;如果是簡單提示,保持默認時長即可。
-
statusTip
:設置控件的狀態提示。
建議:狀態提示通常顯示在狀態欄,用于顯示當前控件的狀態或操作結果。
-
whatsThis
:設置控件的詳細幫助信息,用戶可以通過右鍵菜單訪問。
建議:如果控件比較復雜或功能較多,提供幫助信息會大大提升用戶體驗。
-
accessibleName
和 accessibleDescription:為無障礙用戶提供名稱和描述。
建議:如果應用需要支持屏幕閱讀器等無障礙功能,設置這些屬性將幫助視力障礙的用戶更好地理解控件。
-
layoutDirection
:設置控件的布局方向,選擇從左到右(LeftToRight)或從右到左(RightToLeft)。
建議:根據目標語言和區域設置適當的布局方向,特別是支持阿拉伯語等從右到左書寫的語言時。
-
autoFillBackground
:設置控件是否自動填充背景。
建議:如果控件有透明背景,啟用此屬性可以確保背景顏色被填充,避免顯示問題。
-
styleSheet
:設置控件的自定義樣式表。
建議:使用 CSS 樣式表自定義控件的外觀,控制控件的顏色、邊框、字體等。
-
locale
:設置語言環境,影響日期、時間、數字格式等。
建議:適用于多語言應用,幫助你自動根據用戶地區選擇合適的格式。
-
windowFilePath
:窗口的文件路徑。
建議:通常用于文件對話框,顯示文件路徑。
-
inputMethodHints
:設置輸入法提示。
建議:如果你的應用需要支持特定的輸入法類型,可以通過此選項配置。
-
windowModality
:設置窗口的模態類型,選擇是否允許與其他窗口交互。
建議:如果需要強制用戶處理某個窗口,可以設置為 WindowModal,否則選擇 NonModal。
右下角顯示的是 QMainWindow 控件的一些高級屬性,以下是每個屬性的功能和建議:
-
iconSize
:設置工具按鈕圖標的大小,當前設置為 30 x 30。
建議:適用于工具欄按鈕,調整圖標的大小可以確保界面在不同分辨率下的清晰度和可用性。
-
toolButtonStyle
:設置工具按鈕的顯示樣式。
選項:
:啟用或禁用窗口中的動畫效果。
建議:啟用動畫效果可以使控件和窗口的過渡更加平滑,提升用戶體驗,特別是在窗口切換或狀態變化時。
-
documentMode
:設置窗口是否為文檔模式。
建議:啟用此選項時,窗口將自動處理多個文檔切換,適用于文本編輯器或多文檔應用。
-
tabShape
:設置選項卡的形狀。
選項:
:控制是否啟用停靠窗口嵌套功能。
建議:如果需要讓停靠窗口能夠嵌套到一起,可以啟用此選項,使得界面更加靈活。
-
dockOptions
:設置停靠窗口的相關選項。
選項:
:在 macOS 上啟用標題欄和工具欄的統一樣式。
建議:如果你的應用針對 macOS,啟用此選項可以讓界面符合 macOS 的標準界面設計。