Qt学习03

一、input Widget
1、QComboBox
1、添加备选内容
在设计师中双击添加
在代码中 ui->comboBox->addItem("") 添加
2、常用信号
currentIndexChanged(const QString &arg1) 当前选项的编号被修改会触发
currentIndexChanged(int index) 当前选项被修改
activated(const QString &arg1) 被选中的内容
activated(int index); 被选中的内容
editTextChanged(const QString &arg1) 内容被编辑后触发,前提是把它的editable属性设置为可编辑状态。
2、QLineEdit
1、设置编辑模式
设置echoMode属性
Normal 正常模式
NoEcho 不显示输入的内容
Password 设置为密码框
PasswordOnechoEdit 编辑时可看到内容,完成后显示*号。
2、常用信号:
cursorPositionChanged(int arg1, int arg2) 光标位置发生改变
editingFinished() 编辑完成,光标离开时
returnPressed() 按下回车键
selectionChanged() 选择框中的内容
textChanged(const QString &arg1) 框中的内容发生变化都会触发信号,代码修改内容也会触发
textEdited(const QString &arg1) 必须通过手动编辑框中的内容时,代码修改时不触发
3、QSpinBox
1、常用设置
minimum 最小值
maximum 最大值
singleStep 步长
value 初始值
displayIntegerBase 进制
2、常用信号
editingFinished() 手动编辑完成
valueChanged(int arg1) 内容变化
valueChanged(const QString &arg1) 内容变化
二、DisplayWidgets
1、QLabel
主要为了显示一些提示性的文字,在运行期间不能通过界面来修改它的内存,可以在设计师中修改或通过代码修改。
1、常用操作
设置位置、大小、字体、对齐
2、常用信号较少
destroyed() 控件销毁信号
linkActivated(const QString &link) 打开起链接信号,需要对显示文字设置超链接。
2、QCalendarWidget
日历控制
1、常用设置
selectedData 当前展示的日期
minimumData 最小日期
maximumData 最大日期
firstDayOfWeek 周的排列
selectionMode 是否让选择日期
2、常用信号
clicked(const QDate &date) 单击日期
activated(const QDate &date) 选中日期改变
currentPageChanged(int year, int month) 日期翻页
selectionChanged() 选择的日期发生改变
3、QLCDNumber
以点阵形式显示数字
1、常用设置
smallDecimalPoint 是否显示小数点
digitCount 显示的位数
mode 数据的进制
segmentStyle 文字的样式
value 要显示的数字,可以是小数
intValue 要显示的整数
2、信号
ui->lcdNumber->display(1234123); 设置要显示的数字
overflow() 数据溢出信号
4、QProgressBar
俗称进度条
1、常用设置
minimum 最小值
maximum 最大值
value 当前值
textVisble 是否显示百分比,只有水平进度条才能设置
orientation 横或竖
invertedAppearance 前进方向
2、常用信号
valueChanged(int value) 进度条的值发生变化
5、QWebView
需要将库QT += core gui webkit webkitwidgets network
网页要遵循 HTTP

三、Qt事件
Qt界面程序在运行时,当键盘、鼠标发出一些动作时,Qt程序会根据这些动作自动调用对应的函数,这些函数本身都是父类控件中虚函数(空的),如果子类控件覆盖了这些虚函数,就可以根据键盘、鼠标的动作执行一些自定义操作
这种动作称为事件,一般在事件虚函数中,参数可以获取到该事件的一些数据
virtual void resizeEvent(QResizeEvent *);
窗口大小改变事件虚函数
event->size().width();变化后的宽度
event->size().height();高度
event->oldSize().width();变化前的宽度
event->oldSize().height();变化前的高度
virtual void showEvent(QShowEvent *);
窗口显示事件
virtual void hideEvent(QHideEvent *);
窗口隐藏事件
鼠标事件:
virtual void mousePressEvent(QMouseEvent *);
鼠标按下
virtual void mouseReleaseEvent(QMouseEvent *);
鼠标抬起
virtual void mouseDoubleClickEvent(QMouseEvent *);
鼠标双击
virtual void mouseMoveEvent(QMouseEvent );
鼠标按下并移动
QMouseEvent * event->x() y() 鼠标的坐标
QMouseEvent
event->button() 鼠标按键的键值
键盘事件:
virtual void keyPressEvent(QKeyEvent *);
键盘按下
virtual void keyReleaseEvent(QKeyEvent );
键盘抬起
QKeyEvent
event->key() 获取按下\抬起按键的键值
通过Qt::Key_xxx 已经定义好的宏来比较键值
if(Qt::Key_O == event->key())
event->text() 获取按下\抬起按键的名称(非转义字符)

四、Qt样式表
是一种参考HTML中的CSS语法,用于设置控件的样式,所以Qt给这种语法取名为QSS(Qt Style Sheets)
设置方式1:
在设计师中,选中控件->右击->改变样式表->选择改变颜色、背景色、字体等->确定
设置方式2:
在代码中,通过 控件名->setStyleSheet("QSS语法语句"); 设置控件的样式表,可以让控件在程序运行过程中改变样式

获取样式表内容:
    QString qss = ui->label->styleSheet();  // 获取
    qss += "color:white;";  // 追加内容

常见的样式表的属性:
    color:颜色英文|rgb(x,x,x)  设置字体颜色 
    background-color:  设置背景色
    border: 统一设置边线的各种样式
    border-style:   边线的样式
        none    无边线
        dotted - 定义点线边框
        dashed - 定义虚线边框
        solid - 定义实线边框
        double - 定义双边框
        hidden - 定义隐藏边框
    border-width:10px  边线的宽度
    border-color:   边线的颜色
    border-radius:  边线的四角弧度
    注意:按钮类的边线无法设置

样式表的继承与覆盖:
    当没有设置控件的样式时,控件的样式有两个来源:
    1、系统默认的
    2、继承父窗口的样式表
    如果为控件设置了样式表后,会覆盖继承过来的、默认的样式

五、样式表的选择器
选择器语法,决定了哪些控件对后面的QSS语句批量生效
选择器名{
QSS语句
}

1、通配选择器:所有控件都生效
*{
    QSS语句
}
注意:需要这些控件都在同一个窗口中,默认下,窗口中的样式表已经被其中的控件继承了

2、类型选择器:针对某类控件生效
控件类名{
    QSS语句
}

3、ID选择器 针对某个控件生效
#控件名{
    QSS
}

选择的状态:当控件处于某种状态时,选择器中的样式表才生效
选择器:状态{
    QSS
}
    pressed 鼠标按下
    released 鼠标抬起
    disabled 控件禁用状态
    enabled  控件使能状态
    hover    鼠标悬停
    focus    获得焦点
posted @   优秀还天籁  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示