网站建设+备案什么意思,wordpress幻灯片,网站建设都用哪个好,企业网设计方案目录
QLCDNumber
倒计时小程序
相关属性
QProgressBar 进度条小程序
相关设置 QLCDNumber QLCDNumber是Qt框架中用于显示数字或计数值的小部件。通常用于显示整数值#xff0c;例如时钟、计时器、计数器等 常用属性
属性说明intValueQLCDNumber显示的初始值(int类型)va…目录
QLCDNumber
倒计时小程序
相关属性
QProgressBar 进度条小程序
相关设置 QLCDNumber QLCDNumber是Qt框架中用于显示数字或计数值的小部件。通常用于显示整数值例如时钟、计时器、计数器等 常用属性
属性说明intValueQLCDNumber显示的初始值(int类型)value QLCDNumber显示的初始值(double)和intValue是联动的 例如给value设置为1.5intValue的值就是2 设置value和intValue的API是display不是setValue或setIntValue digitCount显示几位数字可大致控制LCDNumber的大小mode 数字显示形式 QLCDNumber::Dec 十进制模式显示常规的十进制数字QLCDNumber::Hex 十六进制模式QLCDNumber::Bin 二进制模式QLCDNumber::Oct 八进制模式只有十进制的时候才能显示小数点后内容 segmentStyle 设置显示风格 QLCDNumber::Flat 平面的显示风格数字呈现在一个平坦的表面上QLCDNumber::OutLine 轮廓显示风格数字具有清晰的轮廓和阴影效果QLCDNumber::Filled 填充显示风格数字被填充颜色并与背景区分开smallDecimalPoint设置比较小的小数点 倒计时小程序
倒计时可以使用QTimer信号和槽实现 QTimer可以通过start()函数设置周期发出timeout信号 void start(int msec); 参数单位是毫秒start(1000)代表1秒发出一次timeout信号 程序思路如下
创建QTimer对象关联timeout信号和相应的槽函数启动QTimer槽函数中修改LCDNumber的值当倒计时为0时关闭QTimer
代码如下
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);//设置QLCDNumber的初始值ui-lcdNumber-display(10.00);//绑定信号和槽函数//信号使用QTimer(计时器)的timeout信号timer new QTimer(this);connect(timer, QTimer::timeout, this, Widget::handle);//计时器还需要启动timer-start(10);//参数是设定周期按周期发出timeout信号}void Widget::handle()
{double value ui-lcdNumber-value();if(value 0.0){timer-stop();//倒计时为0时停止计时器return;}ui-lcdNumber-display(value - 0.01);//计时器-1
} 相关属性 segmentStyle可以设置显示风格 QLCDNumber::Flat 平面的显示风格数字呈现在一个平坦的表面上QLCDNumber::OutLine 轮廓显示风格数字具有清晰的轮廓和阴影效果QLCDNumber::Filled 填充显示风格数字被填充颜色并与背景区分开 digitCount可以设置显示几位数 QProgressBar QProgressBar是Qt框架中用于显示进度的小部件。通常用于表示任务完成的进度或操作的进展情况。 常用属性
属性说明minimum进度条最小值maximum 进度条最大值 value进度条当前值alignment 文本在进度条中的对齐方式 Qt::AlignLeft 左对齐Qt::AlignRight 右对齐Qt::AlignCenter 居中对齐Qt::AlingnJustify 两端对齐textVisible 进度条的数字是否可见 orientation 进度条的方向是水平还是垂直 invertAppearance 是否是朝向反方向增长进度textDirection文本的朝向format 展示的数字格式 %p表示进度的百分比(0-100)%v表示进度的数值(0-100)%m表示剩余时间(以毫秒为单位)%t表示总时间(以毫秒为单位) 进度条小程序
程序思路如下
初始化QProgressBar对象创建QTimer对象关联timeout信号和相应的槽函数启动QTimer槽函数中修改QProgressBar的值当进度条满时关闭QTimer
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);//设置进度条的起始和终止ui-progressBar-setMinimum(0);ui-progressBar-setMaximum(100);//设置定时器timer new QTimer(this);//连接信号和槽函数connect(timer, QTimer::timeout, this, Widget::handle);//启动定时器周期为0.1秒timer-start(100);
}void Widget::handle()
{int value ui-progressBar-value();if(value 100){timer-stop();return;}ui-progressBar-setValue(value 1);
} 相关设置
setAlignment()//设置进度条数字的对齐方式 setOrientation()//设置进度条的方向是水平还是垂直
setOrientation(Qt::Orientation::Vertical) 垂直方向setOrientation(Qt::Orientation::Horizontal) 水平方向 setInvertAppearance()//设置进度条是否反向增长true是从右往左false是从左往右 上述两个程序都使用了QTimer的timeout信号
读者可能会想到创建一个新的线程更改倒计时或者进度条的值但Qt是不允许的 Qt中界面有一个专门的线程负责维护更新(主线程) 对于GUI来说内部包含了很多的隐藏状态Qt为了保证修改界面的过程中线程安全是不会受到影响的Qt禁止了其他线程直接修改界面 所以Qt要求对界面的修改都必须在主线程中完成所以不允许创建新的线程对界面进行修改 QCalendarWidget QCalendarWidget是Qt框架中用于显示日历和处理日期选择的小部件。允许用户查看和选择日期并支持多种日期显示格式和交互功能 常用属性
属性说明selectDate当前选中的日期minimumDate 最小日期 maximumDate最大日期firstDayOfWeek 每周的第一天(日历的第一列)是周几 gridVisible 是否显示日历的边框 selectionMode 是否允许选择日期 navigationBarVisible 日历上方标题是否显示horizontalHeaderFormat日历上方标题显示的日期格式verticalHeaderFormat 日历第一列显示的内容格式 dateEditEnabled是否允许日期被编辑 重要信号
信号说明selectionChanged(const QDate)当选中的日期发生改变时发出activated(const QDate) 当双击一个有效日期或按下回车键时发出形参是一个QDate类型保存了当前选中的日期 currentPageChanged(int, int)当当前页面的年份月份改变时发出形参是改变后的新年份和月份 示例selectionChanged信号发出
Qt Designer设计的界面如下 添加selectionChanged信号的槽函数
void Widget::on_calendarWidget_selectionChanged()
{ui-label-setText(ui-calendarWidget-selectedDate().toString());
}
程序运行如下