首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
pyqt5中graphicsView
2024-11-02
pyqt5 graphics view简单使用
Graphics View提供了一个平面,用于管理和交互大量自定义的2D图形图元,以及一个用于可视化图元的视图窗口小部件,支持缩放和旋转. 该框架包括一个事件传播架构,允许场景中图元的精确双精度交互功能.图元可以处理关键事件,鼠标按下,移动,释放和双击事件,还可以跟踪鼠标移动. Graphics View使用BSP(二进制空间分区)树来提供非常快速的图元发现,因此,即使有数百万个图元,它也可以实时显示大型场景. 先说一下这里面的坐标系: 图形视图基于笛卡尔坐标系(平面直角坐标系x.y轴); 场景
PyQt5中的信号与槽,js 与 Qt 对象之间互相调用
一.PyQt中的信号与槽 信号(Signal)和槽(Slot)是Qt中的核心机制,用在对象之间互相通信.在Qt中每个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制.当信号发射时,连接的槽函数将会执行.在PyQt5中信号与槽通过object.signal.connect()方法连接. 1.1 关于信号和槽的常识 Qt 提供了信号可以使用,当然你也可以QtCore.pySignal()来自定义信号 一个信号可以连接多个槽: 一个信号也
PyQt5 中调用MySql接口失败 ( QSqlDatabase 组件) 在Linux环境下如何修改
最近在跑下面这么一个代码,怎么跑都无法连通服务器,如下: # -*- coding: utf-8 -*- ''' [简介] PyQt5中 处理database 例子 ''' import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtSql import QSqlDatabase class ExecDatabaseDemo(QWidget):
在PyQt5中使用Pandas时的几个坑
最近在看Python GUI编程,在用到PyQt5+Pandas时遇到一些问题.这里把问题和解决方法整理一下.备查. (好像不能上传附件,内容只好写在下面了.) 在PyQt5中使用Pandas时的几个坑 在PyQt5中使用Pandas时需要的模块库为:qtpandas,版本为1.0.4以上,才支持PyQt5.安装过程不说了,找各种方法安装吧. 安装完成后,为检测是否安装成功,运行qtpands提供的例子:BasicExample.py,过程中暴露出很多问题. 1. 无法从pandas.tslib
QT学习笔记4:QT中GraphicsView编程
一.QGraphicsScene 1.QGraphicsScene QGraphicsScene继承自QObject,是一个管理图元的容器,与QGraphicsView合用可以在2D屏幕上显示如线.三角形.文本.自定义图元等图元. QGraphicsScene是不可见的,只用于管理图元.为了查看场景,需要创建一个视图组件. 一个场景分为三个层:图元层.前景层和背景层.场景的绘制总是从背景层开始,然后是图形项层,最后是前景层. 2.事件处理与传播 QGraphicsScene的责任之一是传播来自视
[ PyQt入门教程 ] PyQt5中数据表格控件QTableWidget使用方法
如果你想让你开发的PyQt5工具展示的数据显得整齐.美观.好看,显得符合你的气质,可以考虑使用QTableWidget控件.之前一直使用的是textBrowser文本框控件,数据展示还是不太美观.其中QTableWidget是PyQt5程序中常用的显示数据表格的控件,显示的基本效果如下,有点素.. 下面开始介绍QTableWidget常用的方法以及如何使用.既然是数据表格形式,经常使用的场景其实跟excel我觉得差不多.开始学习使用QTableWidget之前,我们带着如下几个问题再开始本文的阅
[ PyQt入门教程 ] PyQt5中多线程模块QThread使用方法
本文主要讲解使用多线程模块QThread解决PyQt界面程序唉执行耗时操作时,程序卡顿出现的无响应以及界面输出无法实时显示的问题.用户使用工具过程中出现这些问题时会误以为程序出错,从而把程序关闭.这样,导致工具的用户使用体验不好.下面我们通过模拟上述出现的问题并讲述使用多线程QThread模块解决此类问题的方法. PyQt程序卡顿和无法实时显示问题现象 使用PyQt界面程序,点击运行按钮后,程序在显示框中每秒打印1个数字.程序代码如下: # -*- coding: utf-8 -*- impor
PyQt5中Web操作与多线程定时器
1.装载外部网页页面'''用web浏览器控件QWebEngineView控件显示网页PyQt5和Web的交互技术 同时使用python和Web开发程序,混合开发 Python+JavaScript+HTML5+CSS技术程序混合可做丰富的UI语言之间互相调用 '''from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWebEngineWidgets import
在pyqt5中展示pyecharts生成的图像
技术背景 虽然现在很少有人用python去做一些图形化的界面,但是不得不说我们在日常大部分的软件使用中都还是有可视化与交互这样的需求的.因此pyqt5作为一个主流的python的GUI框架地位是非常重要的,也是一个非常重要的技能.而pyecharts是相当于echarts的python版本,可以比较方便的制作一些非常精美的可视化图片,因为生成的一般是html格式的,所以对于平台的可迁移性相对较好.这里我们主要探索一下在pyqt5制作出来的界面中集成一个pyecharts生成的页面,效果图如下所示
pyqt5.0 GraphicsView框架
场景(The Scene) QGraphicsScene提供图形视图场景.该场景具有以下职责: 提供用于管理大量图元的快速界面(锅) 将事件传播到每个图元(把螃蟹烧熟了) 管理图元状态,例如选择和焦点处理 提供未转换的渲染功能:主要用于打印 该场景充当QGraphicsItem对象的容器(锅).通过调用QGraphicsScene.addItem()将图元(螃蟹)添加到场景中,然后通过调用许多图元发现函数的一个来检索图元. QGraphicsScene.items()及其重载返回由点.矩形.多边
PyQt5中的窗口显示控制
setWindowState(state) #设置窗口状态 Qt.WindowNoState 无状态-正常状态 Qt.WindowMinimized 最小化 Qt.WindowMaximized 最大化 self.setWindowState(Qt.WindowMaximized) Qt.WindowFullScreen 全屏 Qt.WindowActive 活动窗口 windowState() #返回窗口状态 showFullScreen() 全屏显示 不包含窗口框架 showMaximize
pyqt5 中的addStretch
一直对addStretch感觉怪怪的,直到看见了下面这段话: addStretch()函数用于在控件按钮间增加伸缩量, 伸缩量的比例为1:1:1:6,意思就是将控件以外的空白地方按设定的比例等分为9份 并按照设定的顺序放入buttonLayout布局器中. 举个例子: hbox = QHBoxLayout() hbox.addStretch(1) hbox.addWidget(okButton) hbox.addWidget(cancelButton) 这个就表示在这两个按键的左边放置一个Str
在PyQt5中显示matplotlib绘制的图形
import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import * from plot_pyqt import PlotCanvas class App(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('PyQt5 matplotlib example') self.
PyQt5中QTableView函数讲解
如果想熟悉QTableWidget,请参考PyQt5高级界面控件之QTableWidget(四) setSpan(int, int, int, int)四个参数分别代表,起始行,列,合并的行数,全并的列数,合并的内容为起始行列的内容,如setSpan(1,1,2,2),得到的现象如下: clearSpans()清除所有合并的单元格,如下图: 经过clearSpans()后变成 columnAt(int x_coordinate)->int x_coordinate为横坐标位置,函数返回x_co
PyQt5中QTableWidget设置列宽大小的几种方式
我们在使用QTableWidget的时候,经常会出现列宽大小和我们想象不一致的情况,如下图: 内容不能完全显示,需要手动调整列宽才能显示完全. 还有如下图: 因此需要我们擅于调整列宽为我们所使用,现将列宽调整总结如下(行宽请参考): 列宽自动分配 self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # self.tableWidget.verticalHeader().setSectionRe
pyqt5在QMainWindow中布局的问题
在pyqt5中使用了父类为QMainWindow的话,在里面使用布局类,QGridLayout, QHBoxLayout ,QVBoxLayout 时,发现不好用. 解决: 如果是在以QWidget为父类的自定义类中使用这三个布局类的话,是很好用的,但是在QMainWindow中使用的时候要多写几句话.具体如下所示: widget = QWidget() widget.setLayout(gridLayout) self.setCentralWidget(widget) 这几句话加在哪里呢?加在
Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台
引言 找了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + PyQt5.3.2 + Eric6.0 的完整开发平台的搭建,各种出错差点放弃了,好在终于一一解决了,记录下来以后搭建起来方便点. 安装Python3.4 Ubuntu14.04貌似默认安装了Python2.7 和Python3.4.故Python3.4的安装可略去. 安装Qt5 Ubuntu14.0
pyqt5之简单窗口的创建
在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:http://effbot.org/tkinterbook/tkinter-index.htm),因此学习pyqt5,之前用tkinter写了一个简单的python入门教程的exe,基本都是面向过程的编程思想,很少将函数式编程思想和面向对象的思想,在学习pyqt5的过程中,希望培养面向对象编程的思想!关于pyqt5的学习主要参考下面的教程,部分知识及代码相当于是对PyQt5 tutorial的总结! http:
PyQt5之布局管理
目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGridLayout) 3.4 网格布局实例 3.5 表单布局(QFormLayout) 3.6 表单布局实例 3.7 嵌套布局 3.8 布局管理器QSplitter 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 写在开头 1.1 本文内容 本文内容为PyQt5中的布局管理.具体内容为: 绝
八、pyqt5按钮类控件——QPushButton、QRadioButton、QCheckBox
pyqt5中常用的按钮类控件有QPushButton.QRadioButton.QCheckBox.QToolButton等.这些按钮类的基类都是QAbstracButton类.所以这些类有部分方法是相同的. 通用的方法有 方法 描述 isDown() 判断按钮是否按下 isChecked() 返回布尔值,判断按钮是否标记,该方法与setChecAble()联合使用 isEnabled() 设置按钮是否禁用.禁用时按钮为灰色,参数为布尔值.注意这个单词的写法,网上有些教程错误的少写了一个d is
五、Pyqt5事件、信号和槽
PyQt中提供了两种针对事件处理的机制:一种是事件,另一种则是信号和槽. 一.事件 事件处理在PyQt中是比较底层的,常用的事件有键盘事件.鼠标事件.拖放事件.滚轮事件.定时事件.焦点事件.进入和离开事件(光标移入控件或者移出),移动事件(窗口位置变化),显示和隐藏事件,窗口事件(窗口是否为当前窗口).以及常见的Qt事件:Socket事件.剪贴板事件.文字改变事件,布局改变事件等. 针对这些事件,PyQt提供了多种事件处理和过滤方法,其中最常用的有两种: (1)重写事件具体的函数(例如:mous
热门专题
echart 世界地图迁移图
tomcat如何像weblogic一样引用classpath
openssh升级后怎么生效
opcdaauto.dll注册
centos7安装Prometheus
C#可以编辑的ListView
Stanford corenlp端口无响应
ansible二进制部署k8s集群
demo模板怎么用 cdk
pthread_create 传递两个函数参数
团体程序设计天梯赛-练习集答案
ML DL和RL未来发展
xib添加Scroll View 图片滚动
秀米无法插入ueditor
php ftp上传文件
lambda map 转 list
vs2012 升级nuget
thinkphp 修改json返回的响应类型
rvm 安装cocoapods
如何点击之后swiper去掉效果