首页 > 其他分享 >QT从入门到实战完整版 P32 P33

QT从入门到实战完整版 P32 P33

时间:2023-07-21 18:45:31浏览次数:31  
标签:Widget 定时器 QT int widget num ui P32 完整版

定时器1

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    //重写定时器的事件
    void timerEvent(QTimerEvent *);
    int idx1;//定时器1的唯一标识
    int idx2;//定时器2的唯一标识
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //启动定时器
    idx1=startTimer(1000);//参数1 间隔 单位 毫秒
    idx2=startTimer(2000);
}
void Widget::timerEvent(QTimerEvent *ev)
{
    if(ev->timerId()==idx1)
    {
        static int num=1;//label2每隔1秒+1
        ui->label_2->setText(QString::number(num++));
    }
    if(ev->timerId()==idx2)
    {
        static int num2=1;//label3每隔2秒+1
        ui->label_3->setText(QString::number(num2++));
    }
}
Widget::~Widget()
{
    delete ui;
}

定时器2

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QTimer>//定时器类

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //启动定时器
    idx1=startTimer(1000);//参数1 间隔 单位 毫秒
    idx2=startTimer(2000);

    //定时器第二种方式
    QTimer * timer =new QTimer(this);
    //启动定时器
    timer->start(500);
    connect(timer,&QTimer::timeout,[=](){
        static int num=1;//label4每隔0.5秒+1
        ui->label_4->setText(QString::number(num++));
    });
    //点击暂停按钮 实现暂停
    connect(ui->btn,&QPushButton::clicked,[=](){
        timer->stop();
    });
}
void Widget::timerEvent(QTimerEvent *ev)
{
    if(ev->timerId()==idx1)
    {
        static int num=1;//label2每隔1秒+1
        ui->label_2->setText(QString::number(num++));
    }
    if(ev->timerId()==idx2)
    {
        static int num2=1;//label3每隔2秒+1
        ui->label_3->setText(QString::number(num2++));
    }
}
Widget::~Widget()
{
    delete ui;
}

标签:Widget,定时器,QT,int,widget,num,ui,P32,完整版
From: https://www.cnblogs.com/Vivian-0918/p/17572176.html

相关文章

  • VTK 9.2 Qt 5.14 安装及错误处理
    安装注意:编译release和debug,通过切换配置为release和debug,文件都是在cmake的CMAKE_INSTALL_PREFIX指定的文件夹,需要编译完一种后,把这个文件夹改名(比如debug配置,则改名为debug),不然会覆盖。在Qt项目中,出现错误:“无法解析的外部符号__imp_gl***”,“项目-属性-链接器-输入”添加:OpenG......
  • VTK9.1.0在Windows10+VS2019+Qt 5.15.2环境下编译安装以及VTK应用于QT
    下载VTK安装包在VTK官网Download|VTK中下载VTK9.1.0待编译源码,解压后在路径Documentation/dev/bulid.md中可以看到官方提供的Prerequisites以及简易教程编译环境安装按照官方提供的Prerequisites,安装以下环境:CMakeVersion3.12ornewer,however,thelatestversionisal......
  • MQTT 与 Kafka|物联网消息与流数据集成实践
    MQTT如何与Kafka一起使用?MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,专为受限网络环境下的设备通信而设计。ApacheKafka是一个分布式流处理平台,旨在处理大规模的实时数据流。Kafka和MQTT是实现物联网数据端到端集成的互补技术。通过结合使用......
  • 报from PyQt5.QtWidgets import * ImportError: DLL load failed: %1 不是有效的 Win3
    导入时,报fromPyQt5.QtWidgetsimport*ImportError:DLLloadfailed:%1不是有效的Win32application!查了很多资料,发现原来PyQt5安装包也是区分电脑位数的,我的电脑是32位的,装的PyQt5确是64位的,由于我这边用pipinstallPyQt5一直报timeout错误,所以我采用的是去官网直接下......
  • Qt5安装未解决
    #installeitherQt4.8or5.x.andmakesureit'sinPKG_CONFIG_PATHsudoapt-getupdateexportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfigexportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/binpkg-config--modversionQt5echo$......
  • Qt/C++音视频开发48-推流到rtsp服务器
    一、前言之前已经打通了rtmp的推流,理论上按照同样的代码,只要将rtmp推流地址换成rtsp推流地址,然后格式将flv换成rtsp就行,无奈直接遇到协议不支持的错误提示,网上说要换成rtp,换了也没用,而且打印了ffmpeg库协议,也是支持的,以为用对应的命令行测试推流到rtsp流媒体服务器地址是可以的,用......
  • python vs qt
    PythonvsQt:选择适合你的开发工具引言在软件开发领域,选择合适的工具和框架是至关重要的。Python和Qt是两个非常流行的开发工具,都有自己独特的特点和用途。本文将对Python和Qt进行比较,并为你提供选择适合自己的开发工具的指导。Python简介Python是一种高级编程语言,具有简洁、......
  • QT从入门到实战完整版 P30
    自定义封装控件smallWidgt.h#ifndefSMALLWIDGET_H#defineSMALLWIDGET_H#include<QWidget>namespaceUi{classSmallWidget;}classSmallWidget:publicQWidget{Q_OBJECTpublic:explicitSmallWidget(QWidget*parent=nullptr);~SmallWid......
  • QT从入门到实战完整版 P24 P25 P26 P27 P28
    #include"widget.h"#include"ui_widget.h"#include<QDebug>Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);//设置单选按钮男默认选中ui->radioButtonman->setChecked(......
  • QT从入门到实战完整版 P20
    #include"mainwindow.h"#include"ui_mainwindow.h"#include<QDialog>#include<QDebug>MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);//点击新建按......