Qt基本控件
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 桌面应用界面的基础,结合信号与槽机制可实现丰富的交互逻辑。对于复杂界面,还可通过自定义控件(继承现有控件)扩展功能。