自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (12)
  • 收藏
  • 关注

原创 [视频下载]TED-视频下载

想要下载自己喜欢的TED视频,简单的方法如下:打开网址:TED2SRT : https://ted2srt.org/输入你想要下载视频关键字,搜索:选择所要下载视频格式,字幕和语言点击获取下载链接,完成TED下载操作。...

2019-07-31 20:00:26 8105

原创 [Python]图像处理——区域生长

区域生长如果我们需要在上图中提取出大脑的图像,这时我们可以使用区域生长的方法。区域生长,根据预先定义的生长准则,将像素或子区域组合为更大区域的过程。,基本先从一组种子入手,将与种子预先定义的领域像素不断添加,成为种子,最终获得生长区域。本程序思路,先生成了同样大小空白矩阵,设置一个种子点,通过计算判断周围是否有符合条件新种子,编写在空白矩阵中,通过循环可以获得含有种子标志的新矩阵,将矩阵与...

2019-07-26 17:08:51 10910 11

原创 【团队协作】加入谷歌论坛

需要一个你常用的邮箱1、发送订阅邮件格式如下:收件人:项目名[email protected]主题:subscribe内容:subscribe2、收到对方邮件回复收到对方邮件,并点击“加入网上论坛”,随后收到“您已加入 [email protected] 网上论坛”的邮件可以直接登录Google的Grope模块进行查看和办公...

2022-05-26 17:14:57 1058

原创 【git学习笔记】

git学习笔记

2022-05-26 16:48:42 124

原创 【VScode】VCode配置C++编译器

安装VSCode打开,选择扩展界面搜索“C++”,选择安装创建“.cpp”文件,检查是否可以语法高亮、智能补全等功能安装一个编译器链接地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download打开安装包mingw-w64-install.ex

2021-11-22 11:43:48 1508

原创 [Qt]图像处理小软件——给证件照换背景

之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了个小软件,方便还没学会PS的小伙伴们临时换背景Hhhh~软件操作如GIF图所示:新建Qt的项目文件~.h中:#include <QWidget>#include <QDebug>#include <QFile>#include <QFileDialog>#include <iostream>using namespace std;#include <open

2020-09-04 17:34:25 494 2

原创 [VS2017]图像处理——给证件照换背景

本次做的是一个关于图像处理的小代码,把之前大佬们分享的利用图像处理的方法,给肖像换背景复现了一遍~#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;using namespace std;int main(int argc, char** argv) { Mat img, img2, img3, img4, img5, img6; i

2020-09-04 16:32:00 278

原创 [Qt]Qt中的音频使用及Qt中如何添加资源

楼主需要在项目中,用Qt播放音频,故本篇文章教大家如何在Qt中调用音频,并顺便讲解如何添加资源文件~.pro中QT += multimedia.h中#include <QtMultimedia/QMediaPlayer>public: Widget(QWidget *parent = nullptr); ~Widget(); QMediaPlayer *player1,*player2;private slots: void on

2020-09-01 21:08:20 2960

原创 [Visual Studio]VS+OpenCV_环境搭建

本篇将向大家介绍,如何快速搭建VS+OpenCV的环境,方便大家快速入门~1、 下载OpenCV程序和VS 2017版本OpenCV官网:https://opencv.org/releases/本篇将向大家介绍,如何快速搭建VS+OpenCV的环境,方便大家快速入门~2、 配置opencv环境变量【此电脑】->【属性】->【高级系统设置】->【环境变量】->【Path】增加新的路径:C:\opencv3.43\build\x64\vc15\bin3、 打开VS 2017

2020-08-01 17:48:12 378

原创 [Qt]Qt控件中的checkBox选择框的使用

本文主要介绍,Qt控件中的checkBox选择框的使用,通过小实例,来讲解一个使用方式~.ui中:创建checkBox的控件:.h中:void checkBox_PunishmentSlot();bool m_Punishment = false;.cpp中://连接信号和槽的关系connect(ui->checkBox_Punishment,&QCheckBox::stateChanged,this,&Widget::checkBox_PunishmentSlot

2020-07-28 16:56:07 3383

原创 [Qt]在新窗口中进行实时绘图显示

在使用Qt进行窗口显示的过程中,我们可能需要在新窗口中展示绘图结果。本文章在前文章实现动态曲线展示的基础上,改进为新窗口实时绘制。具体[Qt]利用QChart实现实时动态的曲线数据展示可参考这里简单效果如图:首先添加新的Qt设计师界面类最终可得到如下界面:在你需要的ui中添加绘图所需控件利用widget升级为QChartView,显示图像在主.h中private: //新窗口Display *m;signals: void send_list(QVector

2020-07-22 20:38:12 2827

原创 [Qt]利用QChart实现实时动态的曲线数据展示

根据项目需求,需要在Qt中进行绘图显示我们的数据。这时候,我们就用到了Qt在5.0之后新增的自带QChart控件,不再需要我们自己再去添加第三方库。下面是详细的介绍~在.pro文件中QT += charts在.h文件中//QChart#include <QtCharts>using namespace QtCharts;//定时器#include <QTimer>private slots: void updata_plot(); .

2020-07-17 15:39:36 8930 2

原创 [Qt]报错:Object::connect: Parentheses expected, signal QAction::activated

当Qt报如下错误时Object::connect: Parentheses expected, signal QAction::activated说明我们写的connect出现了问题,在SIGNAL或者SLOT的函数中没有写括号错误写法:connect(ui->SaveNoteButton,SIGNAL(clicked),this,SLOT(Save_Txt));正确写法:connect(ui->SaveNoteButton,SIGNAL(clicked()),this,SLOT

2020-07-17 10:14:09 1482

原创 [Qt]Qt之如何使用timerEvent类的定时器

如何使用timerEvent的定时器.h中添加#include <QTime>public:void timerEvent(QTimerEvent *event);private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked();private:int timer1;int timer2; .cpp中添加void Widget::on_pushButton_cl

2020-07-13 20:37:31 1007

原创 [Qt]Qt之如何使用QStackWidegt,实现多界面

通过实例教大家如何使用QStackWidegt,这个控件可以实现分页多界面的界面功能在UI中添加Widget,并变型为QStackWidegt通过下面的操作进行添加和排序子页面.h中不需要添加特别代码 & .cpp中添加如下://显示第几页的页面(0 or 1)ui->stackedWidget->setCurrentIndex(0);ui->stackedWidget->setCurrentIndex(1);通过实验验证,页面切换不影响其函数or定时器的

2020-07-13 20:35:09 454

原创 [Qt]Qt的Concurrent,另一种多线程方式

Qt多线程的另外一种方式:Qt_Concurrent.proQT += concurrentCONFIG += c++11.h#include <QtConcurrent/QtConcurrent>#include <QThread>.cppqDebug() << "主线程" << QThread::currentThread();QtConcurrent::run([] (){ qDebug() <<

2020-07-13 20:30:56 225

原创 [Qt]setGeometry: Unable to set geometry……问题的解决方案

博主,自己的程序突然报了一种错误如下setGeometry: Unable to set geometry 1420x1421+8+31 on QWidgetWindow/'MainWindowWindow'. Resulting geometry: 1420x1181+8+31 (frame: 8, 31, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 1376x1072, maximum size: 16777215x16777215).解决方案

2020-07-11 10:49:40 5727 3

原创 [Qt]利用Qt实现多界面切换

最近博主的软件编写用到了多界面,于是,写了个小实例来分享给大家,如何进行Qt软件的多界面编写实现~1、首先,先创建一个新文件,并在里面添加新的Qt设计界面可以得到如图,mainwindow是主界面,widget是我新添加的子界面2、注意将子界面的.h文件添加主界面的.h中3、在主界面的.h中,添加子界面的变量及打开子界面和处理子界面信号的函数(在主ui中创建按钮)4、在子界面.h文件中,添加打开主界面函数和信号(在子ui中创建按钮)5、在主界面.cpp中连接信号和槽,及对应函数6

2020-07-10 14:47:47 3354 1

原创 [Qt]使用串口通信——单片机上位机实践

博主最近的任务中,用到了串口通信。相比较MFC而言,Qt调用串口可是方便了许多~自己进行了一番摸索,为了大家更快熟悉,,取出一部分实践内容,简单的介绍一下~在.pro文件中加入QT+=serialport在.h文件中加入#include <QtSerialPort/QSerialPort>#include <QtSerialPort/QSerialPortInfo>void findPort();void sleep(int msec);void read_D

2020-07-09 15:58:09 1320 1

原创 [Qt&C++] out of memory……内存溢出报错及解决方法

这周在检测自己的程序过程中,发现程序所占内存在一直加大,持续一段时间会进行报错。遇到这种情况,基本就是你的数据或者指针等出了问题,需要检查out of memory ……什么qvector.h等,一开始还以为是,qvector的使用出了问题……题主遇到的问题所在:在.cpp中将指针分配空间的代码,进行的使用//每次都要调用的程序中放入QChart *chart = new QChart;放在了每次都要调用的程序,这就导致了程序一直在给chart指针分配空间,到一定程度就发生了崩溃。那么,正常

2020-07-07 16:26:06 3894 3

原创 [Qt]如何更改自己程序的图标和标题

作者使用的是QT5.9,win10系列1、 准备好自己的ico文件可以使用在线制作网站http://www.bitbug.net/我自己制作的图标2、 在Qt对应的工程文件中,创建qrc资源文件在生成的qrc文件中,添加ico文件得到如下结果在主程序中写下代码//设置对话框icosetWindowIcon(QIcon(":/res/myapp.ico"));//设置窗口标题setWindowTitle("QAAS - LeverPress for operant beha

2020-07-04 21:49:32 534

原创 [VS] 未能实例化ActiveX控件——解决方案

当遇到这种情况,或者是打开程序显示报错没有办法打开MFC的界面,这时候是需要注册控件需要做的就是找到MFC使用的两个ActiveX的控件将他们放入C盘 C:\Windows\SysWOW64\的文件夹下面然后打开cmd(使用管理员模式,否则会出现不匹配)使用命令行进行注册安装,如下:regsvr32 C:\Windows\SysWOW64\TeeChart5.ocxregsvr32 C:\Windows\SysWOW64\TeeChart5VBCtl.ocx regsvr32 C:\W..

2020-06-19 16:03:10 2894 3

原创 [Qt]对编译好的程序进行打包发布

如何对Qt编译好的.exe文件的打包1、 首先,创建新的文件夹2、 将release编译好的.exe,复制到新文件夹中3、 在菜单栏中找到对应版本编译器我选择的是Qt 5.12.8(MinGW 7.3.0 32-bit)4、 打开后,切换到含有.exe的新文件路径输入如下:cd /d C:\Users\93173\Desktop\launch5、 输入打包指令windeployqt MiniScopeControl.exe回车,开始执行打包6、 最终可以得到打包好的程序

2020-06-13 22:07:52 318

原创 [Qt]Qt+OpenCV 环境快速搭建指南

作者在Qt和OpenCV的环境搭建过程中,也遇到了很多问题,这里直接给大家提供一个简单粗暴的方法,方便快速安装和使用!软件版本:QT5.12(使用5.8也能使用)下载地址:官方网站(清华镜像)Opencv 3.1.4和 Cmake编译好的Opencv下载地址:网盘分享 (访问码:b9ah)以上文件均安装在C盘,如图:添加系统环境变量C:\Qt\Qt5.12.8\5.12.8\mingw73_32\binC:\Qt\Qt5.12.8\Tools\mingw730_32\binC:\ope

2020-06-13 22:02:19 210

原创 [Qt]定时器的使用和其精度的设置

利用Qt的定时器,建议使用QTimer类在.h中:#include <QTimer>private: QTimer *timer;在.cpp中:timer = new QTimer(this);//启动定时器,以1000ms为间隔,出发timeout()timer->start(1000);//关闭定时器timer->stop();为什么要设置定时器的精度作者在进行自己的项目的时候,设置的定时器出发间隔是50ms,但是经过测试每次的间隔,达到了62ms

2020-06-13 21:23:39 1477

原创 [Qt] Qstring 与 int 的转换

1、QString -> int使用 toInt() 函数QString qstr("100");int num = qstr.toInt();2、int -> QString使用 QString::number() 函数int num = 100;QString qstr = QString::number(int);

2020-05-31 14:42:23 3189

原创 [Qt] Qt获取时间信息

Qt提供了获取时间和日期的3个相关类——QDateTime、QDate、QTime1、QDateTime可以同时获取时间和日期 QDateTime dateTime(QDateTime::currentDateTime()); QString qStr1 = dateTime.toString("yy-MM-dd hh:mm::ss ddd"); QString qStr2 = dateTime.toString("yy-MM-dd"); QString qStr3 =

2020-05-29 17:57:23 1737

原创 [Qt] 创建文件及文件夹的不同方法

创建文件的方法,其实也就是c++创建文件夹的一些方法,适用在Qt中1、system 函数 //头文件 #include <iostream> using namespace std; string folderPath = "D:\\database"; //创建文件夹1 string command; command = "mkdir -p " + folderPath; system(command.c_str());2、access

2020-05-29 17:44:04 1127

原创 [Qt] QString 和 String 字符串的相互转换

QString->Stringstring str = qstr.toStdString();String->QStringQString qstr = QString::fromStdString(str);

2020-05-29 17:14:06 277

原创 [浏览器]无法上网,但是其他软件却没问题

科学上网过后,有一次突然浏览器没办法联网打开网页了然而微信,QQ等一系列软件都没事,怀疑是VPN破坏了浏览器的IP导致的解决方案:1、打开系统自带的Edge,打开设置如图:2、打开高级,如图:3、找到代理设置,如图:4、选择自动检测并重启,如图:基本上就可以解决了问题~奥里给!...

2020-05-18 21:35:59 5871

原创 [VS2017]遇到报错fatal error RC1015: cannot open include file ‘winres.h’

由于MFC已经不再更新且目前用到的大多被Qt所替代,目前MFC的热度有所下降。在实验室的项目中,翻看N年前的MFC程序时,发现没有办法打开,我的VS版本是2017的,且安装好了对应的MFC的相应工具包,但是依然难以打开**.rc文件**。遇到“fatal error RC1015: cannot open include file ‘winres.h’.”的报错解决办法:项目——属性——配置属性——常规——将默认的windowsSDK版本8.1,更改为10.0.17134.0(根据自己的版本对应)。

2020-05-18 20:52:01 1291

原创 [在线工具]高效处理——Windows 10虚拟桌面

微软在Windows 10中为大家内置了虚拟桌面功能,这个类似于mac功能类似。对大家多界面任务处理时,有很大的便捷辅助,博主将这个功能使用方法带给大家~希望大家喜欢!1、虚拟桌面创建1)、快捷键 Win+Ctrl+D创建,Win+Ctrl+F4关闭2)、任务栏-任务视图-顶部桌面栏-新建桌面2、虚拟桌面浏览和切换快捷键:Win+Tab键,浏览任务视图Win+Ctrl+向左键or...

2019-10-31 19:26:30 506

原创 [Matlab]将代码带颜色无乱码复制到Word

大家在使用Matlab时,我们在进行程序分享或者提交代码,撰写报告过程,如果直接进行复制粘贴的话,很多中文注释都变成了伪码乱码。我们通过Microsoft Publisher或者记事本中间复制替换一下可以解决问题!具体的解决方案如下:1、在Matlab复制代码2、直接在word复制则会变成伪码3、用win系统打开Microsoft Publisher或者记事本,先复制在记事本中4...

2019-10-31 19:11:25 6229

原创 [在线工具]PPT模板大全

首先,在系统win10商店打开搜索“PPT模板大全”点击打开:安装:打开后,可以选择喜欢的模板,目前是完全免费的~大家自己食用喽~~~

2019-10-21 20:43:45 120

原创 [论文写作]论文查重——如何选择查重系统

本科毕业期间,经历了论文查重等一系列难熬的操作,最终总结比较实用的方法(以博主本科所在学校北理工查重系统为主):1、Paperpass网址自己查找吧,价格在120-200之间2、大雅相似度查询网址:http://dsa.dayainfo.com/dsa/show/upload?allowReg=true&unitId=656不查询详细报告是免费的,会显示相似度。3、中国知网网...

2019-10-09 15:15:28 633

原创 [Python]图像处理——图像增强

原图:处理思路:具体实现:将原图进行拉普拉斯变换后,与原图的索菲尔算子边缘检测+平滑后进行相乘,获得到的新的矩阵再进行与原图进行矩阵点代表的元素进行相加,获得到的矩阵经过GAMMA变换后,得到输出。编写程序如下:from PIL import Imageimport matplotlib.pyplot as plt # plt 用于显示图片import numpy as npi...

2019-10-09 14:55:40 961

转载 [在线工具]简单修改网址——获取有用信息渠道

笔者在平时学习应用中,发现了特别的网址修改小工具,可以获取想要信息,故引过来分享~Pandownload网页版将百度网盘链接替换baidu为 baiduwp 即可获取高速下载链接。如:https://pan.baidu.com/s/15yqUbarYxPHIUZVPiEYgww修改为:https://pan.baiduwp.com/s/15yqUbarYxPHIUZVPiEYgww上学...

2019-10-09 14:42:03 1256

原创 [python]问题报错——ModuleNotFoundError: No module named 'sklearn.cross_validation'

楼主在程序编写过程中,遇到了如下状况:问题出在了from sklearn.cross_validation import train_test_split通过查阅网上解答,将其改成from sklearn.model_selection import KFoldfrom sklearn.model_selection import train_test_split即可解决之前报错...

2019-09-25 11:15:20 280

原创 [视频下载]bilibili-视频下载

bilibili上的视频怎么下载1.打开浏览器,搜索“哔哩哔哩”,点击进入官网。2.打开下载的视频,在网址的bilibili前加上“kan”然后回车。3.点击“下载地址”,选择好下载工具,即可下载视频学会的小伙伴赶快下手尝试吧~...

2019-09-19 15:49:59 473

原创 [python]pip安装——更改国内镜像

相信大家在使用python时也会用到pip安装程序,但是由于pip服务器在国外,直接访问,利用pip来进行下载速度很慢,我们可以自己设置为国内的镜像源,提高下载速度。windows配置pip的配置文件为C:\Users\xxx\pip\pip.ini,xxx为电脑用户名。默认情况下pip文件夹和pip.ini都未创建,自行创建,使用记事本打开pip,添加以下内容:[global]index...

2019-08-24 11:10:04 161

【证件照背景更换】软件

[Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了个小软件,方便还没学会PS的小伙伴们临时换背景Hhhh~ 软件操作如GIF图所示: 新建Qt的项目文件~ .h中: #include #include #include #include #include using namespace std; #include using namespace cv; public: Widget(QWi

2020-09-04

VS实现证件照换背景源码

[Qt]图像处理小软件——给证件照换背景 之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了个小软件,方便还没学会PS的小伙伴们临时换背景Hhhh~ 软件操作如GIF图所示: 新建Qt的项目文件~ .h中: #include #include #include #include #include using namespace std; #include using namespace cv; public: Widget(QWi

2020-09-04

Qt实现证件照背景更换源码

之前看到码农大佬分享的文章,感觉是个小乐子,就自己动手做了个小软件,方便还没学会PS的小伙伴们临时换背景Hhhh~ 软件操作如GIF图所示: 新建Qt的项目文件~ .h中: #include #include #include #include #include using namespace std; #include using namespace cv; public: Widget(QWi

2020-09-04

learn-qt-PlayAudio.zip

楼主需要在项目中,用Qt播放音频,故本篇文章教大家如何在Qt中调用音频,并顺便讲解如何添加资源文件~ .pro中 QT += multimedia .h中 #include <QtMultimedia/QMediaPlayer> public: Widget(QWidget *parent = nullptr); ~Widget(); QMediaPlayer *player1,*player2; private slots: void on_pushButton1_clicked(); void on_pushButton_2_clic

2020-09-01

learn-qt-qchart-plot-newdisplay.zip

在使用Qt进行窗口显示的过程中,我们可能需要在新窗口中展示绘图结果。本文章在前文章实现动态曲线展示的基础上,改进为新窗口实时绘制。具体[Qt]利用QChart实现实时动态的曲线数据展示可参考这里: https://blog.csdn.net/weixin_43487953/article/details/107409852 简单效果如图: 首先添加新的Qt设计师界面类 最终可得到如下界面: 在你需要的ui中添加绘图所需控件 利用widget升级为QChartView,显示图像 在主.h中 private: //新窗口 Display *m; signals: void send_list(QVector<QPointF> line); 在主.cpp中 m = new Display; connect(this,SIGNAL(send_list(QVector<QPointF>)),m,SLOT(receive_list(QVector<QPointF>))); 在新生成的数据进行发送: emit send_list(newlist); 例如: void MainWindow::updata_plot() { QVector<QPointF> list; QVector<QPointF> newlist; list = line->pointsVector();//获取现在图中列表 if (list.size() < line_max) { //保持原来 newlist = list; } else { //错位移动 for(int i =1 ; i< list.size();i++) { newlist.append(QPointF(i-1,list.at(i).y())); } } newlist.append(QPointF(newlist.size(),rand()));//最后补上新的数据 emit send_list(newlist); } 在子.h中 //QChart #include <QtCharts> using namespace QtCharts; private: //曲线 QSplineSeries* line; //绘图变量和坐标 QChart* chart; //发来数据的接收槽函数 private slots: void receive_list(QVector<QPointF> list); 在子.cpp中 line = new QSplineSeries(this); chart = new QChart(); chart->addSeries(line); //接收槽函数并进行绘制 void Display::receive_list(QVector<QPointF> list) { line->replace(list);//替换更新 line->setName("pressure");//设置曲线名称 line->setPen(QColor(255, 0, 0));//设置曲线颜色 line->setUseOpenGL(true);//openGl 加速 chart->setTitle("Pressure Data");//设置图标标题 chart->removeSeries(line); chart->addSeries(line); chart->createDefaultAxes();//设置坐标轴 ui->widget->setChart(chart); }

2020-07-22

learn-qt-qchart-plot.zip

根据项目需求,需要在Qt中进行绘图显示我们的数据。这时候,我们就用到了Qt在5.0之后新增的自带QChart控件,不再需要我们自己再去添加第三方库。下面是详细的介绍~ 在.pro文件中 QT += charts 在.h文件中 //QChart #include <QtCharts> using namespace QtCharts; //定时器 #include <QTimer> private slots: void updata_plot(); void on_pushButton_clicked(); void on_pushButton_2_clicked(); private: //绘图定时器 QTimer *timer_plot; //曲线 QSplineSeries* line; //曲线点的最大数量 int line_max = 100; //绘图变量和坐标 QChart* chart; QValueAxis *axisX; QValueAxis *axisY; 在.cpp文件中 //将变量实例化 timer_plot = new QTimer(this); connect(timer_plot,SIGNAL(timeout()),this,SLOT(updata_plot())); line = new QSplineSeries(this); chart = new QChart(); chart->addSeries(line); axisX = new QValueAxis(this); axisY = new QValueAxis(this); //图像更新函数 void MainWindow::updata_plot() { QVector<QPointF> list; QVector<QPointF> newlist; list = line->pointsVector();//获取现在图中列表 if (list.size() < line_max) { //保持原来 newlist = list; } else { //错位移动 for(int i =1 ; i< list.size();i++) { newlist.append(QPointF(i-1,list.at(i).y())); } } newlist.append(QPointF(newlist.size(),rand()));//最后补上新的数据 line->replace(newlist);//替换更新 line->setName("pressure");//设置曲线名称 line->setPen(QColor(255, 0, 0));//设置曲线颜色 line->setUseOpenGL(true);//openGl 加速 chart->setTitle("Pressure Data");//设置图标标题 chart->removeSeries(line); chart->addSeries(line); chart->createDefaultAxes();//设置坐标轴 // axisX->setRange(0,line_max);//范围 // axisX->setTitleText("times(secs)");//标题 // axisX->setTickCount(10);//分隔个数 // axisX->setLineVisible(true);//可视化 // axisX->setLinePenColor(Qt::blue);//颜色 // axisY->setRange(-200,1200); // axisY->setTitleText("value"); // axisY->setTickCount(6); // axisY->setLineVisible(true); // axisY->setLinePenColor(Qt::blue); // chart->setAxisX(axisX,line); // chart->setAxisY(axisY,line); ui->widget_plot->setChart(chart); } void MainWindow::on_pushButton_clicked() { timer_plot->start(50);//启动定时器 } void MainWindow::on_pushButton_2_clicked() { timer_plot->stop();//关闭定时器 } 在.ui文件中

2020-07-17

learn-qt-multiUI.zip

1、首先,先创建一个新文件,并在里面添加新的Qt设计界面 可以得到如图,mainwindow是主界面,widget是我新添加的子界面 2、注意将子界面的.h文件添加主界面的.h中 3、在主界面的.h中,添加子界面的变量及打开子界面和处理子界面信号的函数(在主ui中创建按钮) 4、在子界面.h文件中,添加打开主界面函数和信号(在子ui中创建按钮) 5、在主界面.cpp中连接信号和槽,及对应函数 6、在子界面.cpp中,写相关函数和信号 最终结果: 主界面和子界面间,通过按钮进行相互切换~ 下面附上源码: Mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include "widget.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_pushButton_clicked(); void dealslot(); private: Ui::MainWindow *ui; widget wid; }; #endif // MAINWINDOW_H Widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class widget; } class widget : public QWidget { Q_OBJECT public: explicit widget(QWidget *parent = nullptr); ~widget(); private slots: void on_pushButton_clicked(); signals: void ChangeUiSlot(); private: Ui::widget *ui; }; #endif // WIDGET_H Mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include "widget.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //connect(&wid,SIGNAL(ChangeUiSlot()),this,SLOT(dealslot())); connect(&wid,&widget::ChangeUiSlot,this,&MainWindow::dealslot); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { this->hide(); wid.show(); } void MainWindow::dealslot() { this->show(); wid.hide(); } Widget.cpp #include "widget.h" #include "ui_widget.h" widget::widget(QWidget *parent) : QWidget(parent), ui(new Ui::widget) { ui->setupUi(this); } widget::~widget() { delete ui; } void widget::on_pushButton_clicked() { emit ChangeUiSlot(); } Main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }

2020-07-13

learn-qt-concurrent.zip

Qt多线程的另外一种方式:Qt_Concurrent .pro QT += concurrent CONFIG += c++11 .h #include <QtConcurrent/QtConcurrent> #include <QThread> .cpp qDebug() << "主线程" << QThread::currentThread(); QtConcurrent::run([] () { qDebug() << "子线程1" << QThread::currentThread(); }); QtConcurrent::run([] () { qDebug() << "子线程2" << QThread::currentThread(); }); 运行结果: 20:23:13: Starting C:\Users\changhao\Desktop\build-learn_qt_concurrent-Desktop_Qt_5_9_9_MinGW_32bit-Debug\debug\learn_qt_concurrent.exe ... 主线程 QThread(0x17797dc8) 子线程1 QThread(0x17669aa0, name = "Thread (pooled)") 子线程2 QThread(0x17669d00, name = "Thread (pooled)")

2020-07-13

learn-qt-QStackWidget.zip

通过实例教大家如何使用QStackWidegt,这个控件可以实现分页多界面的界面功能 .ui中添加 在UI中添加Widget,并变型为QStackWidegt 通过下面的操作进行添加和排序子页面 .h中不需要添加特别代码 & .cpp中添加如下: 显示第几页的页面(0 or 1) ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget->setCurrentIndex(1); 通过实验验证,页面切换不影响其函数or定时器的运行。

2020-07-13

learn-qt-timeEvent.zip

如何使用timerEvent的定时器 .h中添加 #include <QTime> public: void timerEvent(QTimerEvent *event); private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked(); private: int timer1; int timer2; .cpp中添加 void Widget::on_pushButton_clicked() { timer1 = this->startTimer(1000); timer2 = this->startTimer(2000); } void Widget::on_pushButton_2_clicked() { killTimer(timer1); killTimer(timer1); } void Widget::timerEvent(QTimerEvent *event) { if(event->timerId() == timer1) { qDebug() << "timer1"; } if(event->timerId() == timer2) { qDebug() << "timer2"; } } .ui中: 运行结果如图: 值得一提的是,经过实验验证,此方法的程序仍然是单线程进行的,若加入耗时较长的函数,则可能会影响定时器的准确性。

2020-07-13

learn-qt-multiUI.zip

Qt多界面切换实例,帮助初学者学习如何使用QT进行编写两个界面,同时编辑程序实现两者界面的切换,为以后的多界面软件编写提供基础

2020-07-10

opencv3.43+cmake mingw32编译版本.zip

qt_opencv3.43+cmake mingw32编译版本 为大家提供一个简单粗暴,搭建qt+opencv的方法

2020-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除