QT心电图设计
不需要别的UI设置,直接放在QT文件中即可
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QTimer>//定时器头文件
#include <QVector>//容器头文件
#include <QPainter> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
//explicit显式构造,避免隐式构造
explicit MainWindow(QWidget *parent = nullptr); //构造函数
~MainWindow();//析构函数 private:
Ui::MainWindow *ui;
QTimer *timer;//定时器
QVector<QPoint> point_arry;//保存所有的坐标容器
//界面刷新的时候,会自动调用函数
void paintEvent(QPaintEvent *event);
//定时器处理函数
public slots:
//定义槽函数
void timer_timeout(void); }; #endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//初始化变量
qsrand();
timer = new QTimer(this);
//timer的超时时间与处理函数链接起来,时间来刷新槽函数
connect(timer,SIGNAL(timeout()),this,SLOT(timer_timeout()));
//启动定时器
timer->start();
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::paintEvent(QPaintEvent *event)
{
//todo 界面刷新时,执行 将点连成线RER
//准备画笔
QPainter painter(this);
QPen pen;
pen.setWidth();//设置画刷的像素宽度
pen.setBrush(QBrush(Qt::green));//设置画刷的颜色
painter.setPen(pen);
painter.setRenderHint(QPainter::Antialiasing);//画刷抗锯齿
int i;
for(i=;i<point_arry.size();i++){
QPoint p1=point_arry[i-]; //p1 等于point_arry上一点
QPoint p2=point_arry[i]; //p2 等于point_arry目前的点
painter.drawLine(p1,p2);//将p1与p2链接起来
} }
//槽函数的实现
void MainWindow::timer_timeout()
{
//todo 定时器到时执行的任务 移动Y轴
static int x = ;//static 下次不在从零开始
int y;
if(x<this->width()){//如果x现在在主窗口的宽度内
y = this->height()/+rand()%-;//y轴移动的取值,将y值放在height中间
point_arry.push_back(QPoint(x,y));//point_arry的类型就是QPoint类型的
x+=;//每次移动的x轴长度
}
else{//如果x轴的长度超出窗口的长度
int i;
for(i=;i<point_arry.size();i++){
point_arry[i-].setY(point_arry[i].y());//将arry中y的值与上一个y值交换
}
point_arry[point_arry.size()-].setY(this->height()/+rand()%-);//设置目前的y值
}
this->update();
}
QT心电图设计的更多相关文章
- 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件
使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www ...
- Qt Designer设计 UI 文件并调用
本文介绍的是Qt Designer设计 UI 文件并调用,在坛子里逛了一圈,关于UI方面的好像不怎多,本篇给大家分享一下. AD: 2013云计算架构师峰会超低价抢票中 Qt Designer设计 U ...
- pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...
- QT之设计部件背景色
一.使用QT样式表设计部件外观 样式表使用文本描写叙述,能够使用QApplication::setStyleSheet()函数将其设置到整个应用程序上.也能够使用QWidget::setStyleSh ...
- pyqt5通过qt designer 设计方式连接多个UI图形界面
当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qtdesigner.我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界面连 ...
- QT Desinger设计窗体应用程序框架
目录 目录 前言 系统软件 QT Designer Using QT Designer Open QTDesigner Tool Widget Box QT Designer的布局 属性栏 示例 i ...
- QT对话框设计
软件和系统:QTcreator5.7,win8.1 1. 首先新建项目,选择application中的Qt widgets application. 2. 创建类Dialog,选择QDialog作为基 ...
- (一)Qt界面设计布局
Qt提供四种布局: 这种布局生成的格局比较单一,这时候需要另外两个填充控件,来生成整行或整列的格式. 注意:使用Spacers控件时,必须要放在layouts中的布局中,否则无法保存. 示例: 1.往 ...
- Qt界面设计1
最近刚接触Qt 对于QML做界面感觉已经很轻松了,但是想尝试一下GUI..准备做一个理财的小软件 ....慢慢记录我的一点一滴的学习经历. 自己封装界面UI 遇到了好多新手级别的问题=_=!!! 1. ...
随机推荐
- eclipse调试远程tomcat
1.设置tomcat远程调试端口 catalina.sh export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,susp ...
- Spring源码学习(5)—— bean的加载 part 2
之前归纳了从spring容器的缓存中直接获取bean的情况,接下来就需要从头开始bean的加载过程了.这里着重看单例的bean的加载 if(ex1.isSingleton()) { sharedIns ...
- 添加宿主为控制台应用程序的WCF服务
1.创建WCF服务库:WcfServiceLibrary,根据自动创建的代码修改自己的WCF 服务协议.操作协议.数据协议.本次先实现简单的WCF最基本的通信方式:请求->应答模式. 定义服务. ...
- ES6 模板字符串Template String
1. 模板字符串简介: 顾名思义,模板字符串是用来定义一个模板是使用的,就像Vue,React中的template语法. 首先,先来了解一下template string的基本用法: 在ES5中,我们 ...
- vs2017cpu占用过高解决方案
最近在开发中,发现机器变得很卡顿.查看资源管理器发现vs的cpu使用率一直在20%-40%之间.占据了大量的系统计算资源. 展开资源管理器发现有很多node的线程,杀死后,他们又会自己起来! 一翻搜索 ...
- 3--Postman--变量(environment&global)
(1) Environment clear an environment variable: pm.environment.unset("variable_key")--recom ...
- 神州数码DEIGRP路由协议配置
实验要求:了解DEIGRP及其配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface l0 进入端口 ip addres ...
- Xcode注释转文档appledoc使用
参考了一些大神的方法总算成功了记录一下少走弯路 1:安装appledoc 使用终端下载: 命令行: git clone git://github.com/tomaz/appledoc.git cd . ...
- 前端开发:一个开源、简单易用的jQuery表格插件(DataTables)
DataTables是一个基于jQuery库的开源(MIT协议)表格插件,支持添加.排序.分页.搜索.过滤等功能,使用简单.广受欢迎,能够与主流前端UI整合(如bootstrap.jQuery UI等 ...
- Golang微服务:Micro限流、熔断
Wrapper Wrapper提供了一种包装机制,使得在执行某方法前先执行Wrapper,优点Filter的意思:因此可以在客户端和服务器做很多功能:熔断限流.Filter.Auth等. client ...