Qt之简单绘图实现】的更多相关文章

效果图:                                              可以实现打开图片,在打开的图片上画图,可以保存图片,以及橡皮擦,画笔调大调粗换色功能. 代码: XImage.h: #ifndef __XIMAGE__H__ #define __XIMAGE__H__ #include "qwidget.h" #include<QPaintEvent> #include<QMouseEvent> #include<QCol…
简介 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 举个例子: ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区"] ↓ 转换 |省 |市 |区 |地址 | |上海市|上海市|徐汇区|虹漕路461号58号楼5楼 | |福建省|泉州市|洛江区|万安塘西工业区 | 注:“地址”列代表去除了省市区之后的具体地址 安装说明 代码目前仅仅支持python3 pip install cpca 注:cpca是chi…
Qt 最简单的多线程方法QtConcurrent::run()(转载) 最近编写了一个软件,没有考虑多线程的问题,编好以后,软件在执行计算的时候,鼠标响应有时候会延迟,但是完全能用,考虑到后续随着计算任务的增加,鼠标响应可能延迟会更大,所以打算使用多线程的方法,将执行计算的任务丢到另一个线程进行处理,不影响主界面对鼠标以及各个控件的响应. 查了一下书以及上网搜了一下,介绍的最多的就是子类化QThread,然后重载run(),这种操作可以实现多线程,但是我的软件基本已经成形,如果再通过重载run(…
 简介 OpenGL是为三维绘图提供的标准应用编程接口. OpenGL处理的仅仅是三维绘图方面,而很少或是根本不提供图形用户界面编程方面的支持.OpenGL*应用程序的用户界面必须由其它工具包创建,比如在X平台下的Motif,在Windows平台下的微软基本类库(MFC)——或是在这两种平台下都能使用的Qt. Qt的OpenGL模块使在Qt应用程序中使用OpenGL变的更加容易.它提供了一个OpenGL的部件类,这个部件类除了打开一个OpenGL显示缓冲,利用这个缓冲使用OpenGL应用编程接口…
最近一个用Qt开发的项目需要绘制坐标曲线,我在老师的指点下使用了QCustomPlot这个插件,使用方法简单,功能还算不错. 可是在网上找了很多资料和博文都只是将官方提供的例子演示一遍,没有系统全面的学习资料,所以我决定把自己在探索过程中获得的一些开发实例和经验分享出来,与大家共同学习交流,请各位朋友多多指教. 一.QCustomPlot的安装 官方下载地址:http://www.qcustomplot.com/index.php/download 推荐下载第一个链接,里面有很多官方给的例子可以…
1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己使用两个源文件也可以自己编译成库文件,非常方便. 官方网站:http://www.qcustomplot.com/ 1.0下载地址:http://download.csdn.net/detail/czyt1988/5986701 下面展示一下它的超强功能: 1.安装 使用QCustomPlot非常简…
坐标系统 使用QPainter绘制时使用到逻辑坐标,然后转换成绘图设备的物理坐标. 逻辑坐标到物理坐标的映射由QPainter的worldTransform()函数.QPainter的viewport()函数以及window()函数进行处理. worldTransform()函数   ------------------   返回值为世界变换矩阵 viewport()函数   -------------------------   返回值为视口矩形 window()函数   ----------…
刚刚开始学习Qt不久,才开始渐渐地熟悉基础内容,学习过程中的一些知识的总结和感悟希望通过博客记录下来,与大家分享学习的同时,也是对自己坚持下去的鞭策,废话不多说了,开始第一次的小总结吧. Qt提供了强大的2D绘图系统,主要基于QPainter.QPaintDevice.QPaintEngine这三个类. 其中QPainter用于执行绘图操作,QPaintDevice提供绘图设备,是一个二维空间的抽象,QPaintEngine提供一些接口,可以用于QPainter在不同的设备上进行会绘制. 基本的…
上一篇<Qt Quick 之 Hello World 图文详解>我们已经分别在电脑和 Android 手机上运行了第一个 Qt Quick 示例—— HelloQtQuickApp ,这篇呢,我们就来介绍 Qt Quick 编程的一些基本概念,为创建复杂的 Qt Quick 应用奠定基础. 版权所有 foruok ,如需转载请注明来自博客 http://blog.csdn.net/foruok . 首先看一下<Qt Quick 之 Hello World 图文详解>中的 main.…
环境:win10家庭版, Anocada的 Spyder 一.简单使用 使用函数 plt.polt(x,y,label,color,width) 根据x,y 数组 绘制直,曲线 import numpy as np #引用numpy库,从新命名它为np(以后用np代替numpy,简洁) import matplotlib.pyplot as plt import matplotlib x = np.linspace(0,6,100) #在[0,6]平均分为100个print(x) #输出查看一下…
void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip) 在一个主 QWidget 内给一部分区域绘图: QPainter painter(this); /* 设置 paint 的目标区域 */ painter.setClipRect(50,40,680,580); painter.begin(this); ...//绘图操作 pai…
继续上次的操作系统课设,这次需要设计一个简单的任务管理器,大部分人选择GTK来实现,我剑走偏锋,使用Qt来完成这个任务. 用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的. 我们要显示系统信息,只需进行相应的文件操作就行了. 首先需要下载一份Qt的SDK,这是Qt的英文官网:http://qt.nokia.com/,当然也有中文版的:http://qt.…
QObject 是所有Qt对象的基类. QObject 是Qt模块的核心.它的最主要特征是关于对象间无缝通信的机制:信号与槽.使用connect()建立信号到槽的连接,使用disconnect()销毁连接,使用blockSignals()暂时阻塞信号以避免无限通知循环,使用connectNotify()和disconnectNotify()追踪连接. QObject 以对象树的形式组织起来.当为一个对象创建子对象时,子对象会自动地添加到父对象的children()列表中.父对象拥有子对象的所有权…
1.绘制简单的风向玫瑰图代码2.主要使用QPainter3.在子widget上绘制需要使用widget监视事件 eventfilter update();//更新界面 //镜头12 QPainter painter1(WindRose12)/**/; painter1.begin(WindRose12); painter1.setFont(QFont("宋体")); painter1.translate(WindRose12->width() >> 1, WindRo…
最近要用到Qt的Socket部分,网上关于这部分的资料都比较复杂,我在这总结一下,把Socket的主要部分提取出来,实现TCP和UDP的简单通信. 1.UDP通信 UDP没有特定的server端和client端,简单来说就是向特定的ip发送报文,因此我把它分为发送端和接收端. 注意:在.pro文件中要添加QT += network,否则无法使用Qt的网络功能. 1.1.UDP发送端 #include <QtNetwork> QUdpSocket *sender; sender = new QU…
QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形. QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustomPlot的源文件,包括qcustomplot.h和qcustomplot.cpp.   本程序的源码下载地址: https://github.com/xiongxw/XCustomPlot.git     1 自定义鼠标显示跟随类XxwTracer和XxwTraceLine: XxwTracer用于…
这里使用 Qt + FFmpeg 实现了一个简单播放视频的例子.先看下按下按钮播放视频时的效果图: 完整工程下载链接:Github-FFmpeg_demo 注意:一定要将 bin 目录下的 dll 文件拷贝到编译生成的 exe 所在的目录下,否则会提示:程序异常结束,无法运行. 一.开发环境的准备 我所用的开发环境是qt-opensource-windows-x86-msvc2015-5.11.2.exe,这里使用 Qt 自带的 Qt Creator 编译器,也可以使用微软的 VS,安装 Qt…
ui 在.pro文件中添加 QT +=phonon 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include<phonon> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0…
1.首先构架qt应用项目 2.然后打开使用 Qt desinger打开 Fomr File 里的UI文件进行编辑 3.由于此程序只需点击加号,减号这两个按钮,所以设置了两个信号槽 4.然后是连接信号槽 5.最后是对方法的实现 实现的代码,里面要注意从 QLineEdit 获取的值是  QString 类型,需要转换为所需要的类型,我转换成了double类型的,最后给QLineEdit赋值也必须是QString类型的,所以还要转回来,具体实现,从代码体会.…
qmlscene 未安装 由于出现上面的情况,我开始转战Windows 下学习,昨天安装好了Qt Sdk了,哟吼吼吼. mail.qml内容: import QtQuick 2.3 import QtQuick.Controls 1.2 Rectangle { width : ; height : ; color : "#121212" ; BusyIndicator { id : busier ; running : true ; anchors.centerIn : parent;…
http://www.cnblogs.com/appsucc/archive/2012/02/28/2371506.html Qt之实现工具箱界面程序 http://www.cnblogs.com/appsucc/archive/2013/03/04/2942903.html#3406562…
打开QT Creator,新建一个“应用程序-Qt Widgets Application”项目: 输入名称scdc之后点击下一步. 在“构建套件”这个页面中直接点出下一步,然后再输入自己的类名DataCenter,其它不用手动改过来,QT会自动修改,如下图所示: 再点下一步,完成即可了. 这个时候直接点击左下方的“运行”按键,窗体就会出现了. 先看一看项目列表中所列的文件 这些文件分别是: datacenter.h datacenter.cpp main.cpp datacenter.ui 界…
private void button2_Click(object sender, EventArgs e) { Bitmap image = new Bitmap(200, 200); Graphics g = Graphics.FromImage(image); //使绘图质量最高,即消除锯齿 g.SmoothingMode = SmoothingMode.AntiAlias; g.InterpolationMode = InterpolationMode.HighQualityBicubi…
小编在期末数据结构课设中遇到要做可视化界面的问题,特意去学习了一下Qt的用法,今天就来给大家分享一下. 我用的是Qt5.80,当然这只是一个简易的计算器Demo,,请大家勿喷. 首先我创建了一个Qt Widgets Application中的一个对话框项目,注意不用把UI文件勾选. 最终的UI界面是这样的:. 具体实现代码如下: calculator.pro #------------------------------------------------- # # Project create…
 >>主要功能: (1)图片切换浏览,上一张/下一张. (2)图片放大.缩小.包括两种机制:鼠标滚轮和按钮放大/缩小. (3)图片自动循环播放,间隔2s.点击播放后,其他操作均无效,直至点击暂停. (4)图片顺时钟旋转,每次90度.可在放大/缩小状态下旋转,或者相反. (5)在图片被放大/缩小/旋转后,点击还原或者切换图片时,自动恢复为默认大小.  >>最终效果: (1)点击播放按钮: (2)暂停后,点击下一张: (3)点击放大(或鼠标滚轮往前滚动): (4)点击还原: (5)点击…
以下是简单的 listWidget 的方法的功能 listWidget = QListWidget() #实例化一个(item base)的列表 listWidget.addItem('dd') #添加一个项 listWidget.addItems([]) # 从序列中添加子项 listWidget.setDragEnabled(True) #设置拖拉 listWidget.sortItems() #排序 listWidget.selectAll()全选 listWidget.setSortin…
在Qt中实现多线程,除了使用全局变量.还可以使用信号/槽机制. 以下例子使用信号/槽机制. 功能: 在主线程A界面上点击按钮,然后对应开起一个线程B.线程B往线程A发送一个字符串,线程A打印出来. 1.工程文件目录 2.thread.h 和thread.cpp #ifndef THREAD_H #define THREAD_H #include<QThread> #include<QString> class Thread : public QThread { Q_OBJECT p…
单例模式十分的常见也很常用,Boost库中就有单例的泛型实现,Qt中,可以利用原子指针来实现一个单例模式: class SingleTon{ public: static SingleTon &getInstance(void) { //双重检测加锁 if(!instance){ QMutexLocker locker(&mutex); if(!instance) instance = new SingleTon; } return * instance; } private: Singl…
Qt Quick 是 Qt 提供的一种高级用户界面技术.使用它可轻松地为移动和嵌入式设备创建流畅的用户界面. 在 Android 设备上, Qt Quick 应用默认使用 OpenGL ES ,渲染效率很高,你能够用它创建很炫很酷很迷人的界面. Qt Quick 模块是开发 QML 应用的标准库,提供了使用 QML 创建用户界面所需的一切东西,包括可视化类型.交互类型.动画.模型与视图.粒子效果与着色效果等等. Qt Quick 提供了两组 API : QML API ,它提供了使用 QML 语…
一.使用Pen画笔 Pen的主要属性有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等. 我们可以用Pen 来画虚线,带箭头的直线等. Pen p = ); Graphics g = this.CreateGraphics(); //这里在load中不行,在Paint中可以? //画虚线 p.DashStyle = System.Drawing.Drawing2D.DashSt…