一、Input Widgets
1、QComboBox
1、添加备选内容
在设计师中双击控件输入添加
在代码中输入 ui->comboBox->addItem("金嘉宇");
2、常用信号
void currentIndexChanged(const QString &arg1)
当前选项编号改变触发信号 arg1变后的内容
currentIndexChanged(int index)
当前选项编号改变触发信号 index变后的下标
activated(const Qstring &arg1)
activated(int index)
选择了选项就会触发,无论选项是否改变
currentTextChanged(const QString &arg1)
当前选项的文字内容改变就会触发
还可以勾选editable属性,内容可编辑,也会触发
2、QLineEdit
1、设置显示方式
设置echoMode属性
Normal 正常显示
NoEcho 不显示输入内容
PassWord 以密码框显示
PassWordEchoOnEdit 编辑时可见完成后显示加密
2、常见信号
cursorPositionChanged(int arg1, int arg2)
光标位置改变触发 arg1之前位置 arg2当前位置
editingFinished()
编辑完成(回车键)或者光标离开输入框就会触发
returnPressed()
按下回车键触发
selectionChanged()
拖选框中内容时触发
textChanged(const QString &arg1)
输入框中文本发生变化就会触发
可以通过代码修改文本,也会触发该信号
textEdited(const QString &arg1)
输入框被输入修改发生变化才会触发
3、QSpinBox
1、常用设置
minimum 最小值
maximun 最大值
singleStep 步长
value 初始值
displayIntegerBase 进制
信号:
valueChanged(const QString &arg1)
valueChanged(int value)
内容改变触发
二、Display Widget
1、QL able
主要是为了显示一些提示性的文字信息,并且在运行期间不能通过界面来修改它的内容,但是可以在设计师、代码中修改
常用设置:
位置、大小、字体、对齐方式等
linkActivated(const QString &link)
常用信号不多:
linkActivated(const QString &link)
当标签内容是超链接文本时,点击该超链接会触发信号
ui->label->setText("%1");
三、事件
Qt界面程序运行时,当用户操作键盘、鼠标发出一些特定动作时,Qt程序会自动调用一些对应的函数,这些函数都是虚函数(空的)
如果子类覆盖了这些虚函数,就可以根据具体的键盘、鼠标的动作执行一些想要的操作
这些动作就称为Qt的事件:
resizeEvent(QResizeEvent *event)
窗口大小变化事件
event->size().width() ,event->size().height()
窗口当前的宽度、高度
event->oldSize().width(),event->oldSize().height()
窗口上一次宽度、高度
mousePressEvent(QMouseEvent *event)
鼠标按下事件
event->button() 获取按下哪个鼠标键
event->x(),event->y() 获取事件产生时鼠标的位置
mouseReleaseEvent(QMouseEvent *event)
鼠标弹起事件
mouseDoubleClickEvent(QMouseEvent *event)
双击鼠标事件
mouseMoveEvent(QMouseEvent * event)
鼠标按下并移动事件
keyPressEvent(QKeyEvent * event)
键盘按下事件
event->key() 获取按下按键的键值
与 Qt::Key_xxx 宏比较
event->text() 获取按下按键的显示符号
keyReleaseEvent(QKeyEvent *event)
键盘弹起事件
showEvent(QShowEvent *event)
窗口显示事件
hideEvent(QHideEvent *event)
窗口隐藏事件
四、样式表
是一种参考HTML中的CSS语法,用于设置控件样式,Qt给它自己的样式表语法取名为 QSS (Qt Style Sheets)
设置方法1:
在Qt设计实中,选中控件->右击->改变样式表->修改->确定
设置方法2:
在代码中,调用控件对象的setStyleSheet("QSS语句") ,改变某个控件样式,可以让控件动态变化
常用的样式属性:
color: rgb(x,x,x) | 颜色英文
设置控件中内容颜色
bcakground-color: rgb(x,x,x) | 颜色英文、
设置控件中背景颜色
border-style: double;
边框样式
double 双线
solid 单实线
dashed 单虚线
border-color: rgb(0, 0, 0);
边框颜色
border-width: 20px;
边框宽度
border-radius: 5px;
边框角的弧度
样式表的继承与覆盖:
当没有设置控件的样式表前,控件的样式表有两个来源:
1、系统默认
2、继承父类窗口
五、样式表的选择器
样式表语法中,提供了选择器语法,可以指定哪些控件对该样式表有效
选择器{
QSS语句;
...
}
1、通配选择器
*{
QSS语句;
}
所有控件都生效
2、类型选择器
类名
{
QSS
}
该类型的控件以及子类生效
3、
ID选择器
#name{
}