Qt 的基本控件是構建用戶界面的基礎,涵蓋了按鈕、輸入框、容器、顯示組件等,適用于傳統 Widget 開發(基于?QWidget
)。以下是常用基本控件的分類總結:
一、按鈕類控件
用于觸發交互操作,如提交、取消、選擇等。
- QPushButton:最基礎的按鈕,支持文本、圖標顯示,可設置點擊狀態(如默認按鈕、禁用狀態)。
示例:QPushButton *btn = new QPushButton("點擊提交", this);
- QToolButton:工具按鈕,通常用于工具欄,可僅顯示圖標或圖文結合,支持下拉菜單。
- QRadioButton:單選按鈕,多個同組中只能選中一個(需配合?
QButtonGroup
?管理分組)。 - QCheckBox:復選按鈕,支持勾選 / 取消勾選,可用于 “多選” 場景(如設置選項)。
二、輸入類控件
用于接收用戶輸入的文本、數值等信息。
- QLineEdit:單行文本輸入框,支持輸入限制(如密碼模式、數字輸入)、提示文本(placeholder)。
示例:lineEdit->setEchoMode(QLineEdit::Password);
(密碼隱藏顯示) - QTextEdit:多行文本輸入框,支持富文本編輯(如字體、顏色設置),可用于輸入大段文字。
- QSpinBox:數值調節器,通過上下箭頭或直接輸入設置整數,支持范圍限制(如 0-100)。
- QDoubleSpinBox:與?
QSpinBox
?類似,但支持小數輸入。 - QComboBox:下拉列表框,可選擇預設選項或允許用戶輸入(
setEditable(true)
),適用于 “單選” 場景。
三、顯示類控件
用于展示文本、圖片、狀態等信息。
- QLabel:標簽控件,顯示文本、圖片(
QPixmap
)或鏈接,支持 HTML 格式文本(如?<b>加粗</b>
)。
示例:label->setPixmap(QPixmap("image.png"));
(顯示圖片) - QProgressBar:進度條,展示任務進度(如文件下載),支持設置范圍(0-100)和當前值。
- QStatusBar:狀態欄,通常位于窗口底部,顯示臨時狀態信息(如 “已保存”)。
四、容器類控件
用于組織其他控件,實現界面布局。
- QWidget:所有控件的基類,可作為容器包裹其他控件(需配合布局管理器使用)。
- QFrame:帶邊框的容器,支持邊框樣式(如實線、虛線),常用于分隔界面區域。
- QGroupBox:分組框,帶標題和邊框,可將相關控件歸類(如 “用戶信息” 分組)。
- QTabWidget:標簽頁容器,通過切換標簽頁展示不同內容(如瀏覽器的多標簽頁)。
- QScrollArea:滾動區域,當內容超出顯示范圍時,提供滾動條查看完整內容。
五、布局管理器(輔助控件布局)
雖非可視化控件,但用于自動管理控件的位置和大小,確保界面在窗口縮放時保持整潔。
- QVBoxLayout:垂直布局,控件按上下順序排列。
- QHBoxLayout:水平布局,控件按左右順序排列。
- QGridLayout:網格布局,控件按行 / 列坐標排列(如表格形式)。
- QFormLayout:表單布局,自動對齊 “標簽 - 輸入框” 對(如用戶注冊表單)。
六、其他常用控件
- QSlider:滑動條,通過拖動滑塊設置數值(如音量調節),支持水平 / 垂直方向。
- QCalendarWidget:日歷控件,用于選擇日期,可返回選中的?
QDate
?對象。 - QMenuBar:菜單欄,位于窗口頂部,包含下拉菜單(如 “文件”“編輯” 菜單)。
- QToolBar:工具欄,通常位于菜單欄下方,可放置工具按鈕,支持拖拽移動。
這些基本控件可通過 Qt Designer 可視化拖放使用,也可通過代碼創建。它們是構建 Qt 桌面應用界面的基礎,結合信號與槽機制可實現豐富的交互邏輯。對于復雜界面,還可通過自定義控件(繼承現有控件)擴展功能。