PyQt开发与实战
文章平均质量分 63
李肖遥
这个作者很懒,什么都没留下…
展开
-
从 Python 到 Go 再到 Rust,谁是后端开发之王?
关注、星标公众号,直达精彩内容来源:csdn【CSDN 编者按】作为一种简单易上手的面向对象的动态类型语言,Python 在近两年的技术圈中,可谓是炙手可热;而另一种素有 Google “...转载 2021-08-08 22:16:00 · 4084 阅读 · 1 评论 -
PyQt信号与槽之信号与槽的入门应用(一)
前言 信号与槽有三种使用方法 第一种:内置信号与槽的使用 第二种:自定义信号与槽的使用 第三种:装饰器的信号与槽的使用 一: 内置信号与槽的使用 内置信号与槽的使用,是指在发射信号时,使用窗口控件的函数,而不是自定义的函数,这种也是我们前面用的最多的,下面简单的一个实...转载 2021-02-24 23:13:54 · 238 阅读 · 0 评论 -
PyQt完整入门教程 | 例程附代码
关注、星标公众号,直达精彩内容来源:cnblogs作者:lovesoo1、GUI开发框架简介pyqt是个好东西,可以做完整的测试方案、脚本、工具进行整合复用等等,本文将以一个实例和大家一起...转载 2021-03-30 22:09:00 · 4667 阅读 · 0 评论 -
武大学生用python敲出樱花开放 | 附源码
今年的武汉大学没有了往年的人山人海,但是美丽的樱花依然在春天里独自绽放。(图源武汉大学微博)为此,武大开通了#樱花云直播# ,3月16日-3月25日,每天 10:00-16:00。相约武...转载 2020-03-25 07:56:22 · 168 阅读 · 0 评论 -
Python GUI编程之PyQt5入门到实战
关注、星标公众号,直达精彩内容来源:CSDN作者:Erics-1996以下文章来源于CSDN,作者是Erics-1996,个人觉得写得不错分享给大家。这篇文章主要介绍了详解Python G...转载 2021-02-26 09:00:00 · 3218 阅读 · 0 评论 -
使用PyQt5实现自动化测试,太便利了
关注、星标公众号,直达精彩内容公众号:技术让梦想更伟大作者:Boudewijn Rempt 和 David Mertz最近在使用pyqt写个自动化测试软件,对python和Qt都需要有一...转载 2021-01-27 22:08:00 · 5011 阅读 · 2 评论 -
PyQt5图形和特效之加载QSS(十)
前言在Qt中经常需要使用样式,为了降低耦合性(与逻辑代码分离),我们通常会定义一个QSS文件,然后编写各种控件(QLabel,QLIneEdit,QPushButton等)的样式,最后使用QApplication或QMainWindow来加载样式,这样就可以让整个应用程序共享一种样式了1 编写QSS首先新建一个扩展名为.qss的文件,如style.qss,然后将其加入资源文件(.qrc)中,在style.qss文件中编写样式代码,例如QMainWindow{ border-image转载 2021-04-28 22:36:09 · 869 阅读 · 0 评论 -
PyQt5图形和特效之设置样式(九)
实例:为标签与按钮添加背景图片样式表中为按钮设置了三种状态,(正常按钮状态,鼠标悬停在按钮上,按下按钮的状态)标签只设置了图片的加载from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout, QPushButtonimport sysclass WindowDemo(QWidget): def __init__(self): super().__init__() # 实转载 2021-04-28 22:35:10 · 545 阅读 · 0 评论 -
PyQt5图形和特效之不规则窗口实现动画效果(八)
实例:不规则窗口实现动画效果import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class ShapeWidget(QWidget): def __init__(self,parent=None): super(ShapeWidget, self).__init__(parent) self.i=1 self.my转载 2021-04-28 22:34:16 · 954 阅读 · 0 评论 -
PyQt5图形和特效之不规则窗口的显示(七)
QWidget类中比较重要的绘图函数如表所示函数描述setMask(self,QBitmap)setMask(self,QRegion)setMask()的作用是为调用它的控件增加一个遮罩,遮住所选区域以外的部分,使之看起来是透明的,它的参数可以为QBitmap或QRegion对象,此处调用QPixmap的mask()函数获得图片自身的遮罩,是一个QBitmap对象,在实例中使用的是PNG格式的图片,它的透明部分就是一个遮罩paintEvent(self,QPaintEvent转载 2021-04-28 22:33:18 · 358 阅读 · 0 评论 -
PyQt5图形和特效之设置窗口背景(六)
前言窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法使用QSS设置窗口背景使用QPalette设置窗口背景实现PainEvent,使用QPainter绘制背景QSS设置窗口背景在QSS中,我们可以使用Background或者background-color的方式来设置背景色,设置窗口背景色之后,子控件默认会继承父窗口的背景色,如果想要为控件设置背景图片或图标,则可以使用setPixmap或则setIcon来完成。关于这两个函数的用法,可以参考本博客下的PyQt5的基础控件分栏实例转载 2021-04-28 22:32:24 · 1079 阅读 · 0 评论 -
PyQt5图形和特效之QSS的UI美化(五)
QSS子控件QSS子控件实际上也是一种选择器,其应用在一些复合控件上,典型的如QComboBox,该控件的外观是,有一个矩形的外边框,右边有一个下拉箭头,点击之后会弹出下拉列表,例如:QComboBox:drop-down {image:url(dropdown.png)}1上面的样式指定所有的QComboBox下拉箭头的图片是自定义的,图片文件为dropdown.png::drop-down子控件选择器可以与上面提到到的选择器一起联合使用,例如QComboBox#myQComboBo转载 2021-04-28 22:31:20 · 1086 阅读 · 2 评论 -
PyQt5图形和特效之QSS的UI美化(四)
前言QSS即Qt样式表,是用来自定义控件外观的一种机制,QSS大量参考了Css的内容,但QSS的功能要比Css弱得多,体现在选择器少,可以使用的QSS属性也少,而且并不是所有的属性都可以应用在PyQt的控件上,QSS使页面美化跟代码层分开,利于维护QSS的语法规则QSS的语法规则几乎与CSS相同,QSS样式由两部分组成,其中一部分是选择器(Selector),指定哪些软件会受到影响,另一部分是声明(Declaration),指定哪些属性应该在控件上进行设置,声明部分是一系列的“属性:值”对,使用转载 2021-04-28 22:30:22 · 604 阅读 · 0 评论 -
PyQt5图形和特效之双缓存绘图(三)
实例:绘制矩形,出现重影在画板上绘制矩形# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtGui import QPainter, QPixmapfrom PyQt5.QtCore import Qt, QPointclass Winform(QWidget): def __init__(self, parent=None):转载 2021-04-28 22:29:23 · 517 阅读 · 0 评论 -
PyQt5图形和特效之简单绘图(二)
前言在PyQt中常用的图像类有四种,QPixmap,QImage,QPicture,QBitmap类型描述QPixmap专门为绘图设计的,在绘制图片时需要使用QPixmapQImage提供了一个与硬件无关的图像表示函数,可以用于图片像素级访问QPicture是一个绘图设备类,它继承自QPainter类,可以使用QPainter的begin()函数在QPicture上绘图,使用end()函数结束绘图,使用QPicture的save()函数将QPainter所使用的绘图转载 2021-04-28 22:27:47 · 561 阅读 · 0 评论 -
PyQt5图形和特效之窗口风格(一)
设置窗口风格可以为每个QWidget都设置风格setStyle(QStyle style)1获取当前平台支持的原有的QStyle样式QstyleFactory.keys()1对QApplication设置QStyle样式QApplication.setStyle(QStyleFactory.create('WindowsXP'))1如果其他Widget没有设置QStyle,默认使用QApplication设置的style实例:设置窗口风格import sysfrom PyQt转载 2021-04-28 22:26:18 · 926 阅读 · 1 评论 -
PyQt5高级界面控件之QWebEngineView(十三)
QWebEngineView前言PyQt5使用QWebEngineView控件来展示HTML页面,对老版本的QWebView类不在进行维护,因为QWebEngineView使用CHromium内核可以给用户带来更好的体验QWebEngineView类中常用方法方法描述load(QUrl url)加载指定的URL并显示setHtml(QString&html)将网页视图的内容设置为指定的HTML内容QWebEngineView控件使用load()函数加转载 2021-04-27 23:48:22 · 5827 阅读 · 2 评论 -
PyQt5高级界面控件之QThread(十二)
QThread前言QThread是Qt的线程类中最核心的底层类。由于PyQt的的跨平台特性,QThread要隐藏所有与平台相关的代码要使用的QThread开始一个线程,可以创建它的一个子类,然后覆盖其它QThread.run()函数 class Thread(QThread): def __init __(self): super(Thread,self).__ init __() def run(self): #线程相关的代码 p转载 2021-04-27 23:47:20 · 800 阅读 · 0 评论 -
PyQt5高级界面控件之QTimer(十一)
QTimer前言如果在应用程序中周期性地进行某项操作,比如周期性的检测主机的cpu值,则需要用到QTimer定时器,QTimer类提供了重复和单次的定时器,要使用定时器,需要先创建一个QTimer实例,将其Timeout信号连接到槽函数,并调用start(),然后,定时器,会以恒定的间隔发出timeout信号当窗口的控件收到Timeout信号后,他就会停止这个定时器,这是在图形用户界面中实现复杂工作的一个典型用法,随着技术的进步,多线程在越来越多的平台上被使用,QTimer对象会被替代掉QTimer转载 2021-04-27 23:46:16 · 751 阅读 · 0 评论 -
PyQt5高级界面控件之QScrollBar(十)
QScrollBar前言可以看到,前面介绍的几个窗口控件的共同点是新建一些窗口来装载更多的控件,而QScrollBar提供了另一种思路:这个控件提供水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件QScrollBar类中常用的信号信号含义valueChanged当滑动条的值改变发射此信号sliderMoved当用户拖动滑块时发射此信号实例:QScrollBar的使用import sysfrom PyQt5.QtWidgets imp转载 2021-04-27 23:45:11 · 508 阅读 · 0 评论 -
PyQt5高级界面控件之QMidArea(九)
QMidArea前言一种同时显示多个窗口的方法是,创建多个独立的窗口,这些独立的窗口被称为SDI(Single Document Interface 单文档界面),每个窗口都有自己的菜单系统,工具栏等,这需要占用很多资源MDI(Multiple Document Interface 多文档界面)应用程序占用较少的内存资源,子窗口可以放在主窗口的容器中,这个容器控件被称为QMidAreaQMidArea控件通常占据在QMainWindow对象的中央位置,子窗口在这个区域是QMdiSubWindow类的转载 2021-04-27 23:44:01 · 1139 阅读 · 0 评论 -
PyQt5高级界面控件之QDockWidget(八)
QDockWidget前言QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中,QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围QDoCKWidget类中的常用方法方法描述setWidget()在Dock窗口区域设置QWidgetsetFloating()设置Dock窗口是否可以浮动,如果设置为True,则表示可以浮动setAlllowed转载 2021-04-27 23:43:04 · 760 阅读 · 0 评论 -
PyQt5高级界面控件之QStackedWidget(七)
QStackedWidget前言QTackedWidget是一个堆栈窗口控件,可以填充一些小控件,但是同一时间只有一个小控件可以显示,QStackedWidget使用QStackedLayout布局。QSTackedWidget控件与QTabWidget类似,可以有效的显示窗口的控件实例:QStackedWidget的使用import sysfrom PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtWidgets impor转载 2021-04-27 23:42:01 · 1187 阅读 · 0 评论 -
PyQt5高级界面控件之QTabWidget(六)
QTabWidget前言QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面,通过单击各选项卡可以查看对应的界面,如果在一个窗口中显示的输入字段很多,则可以对这些字段进行拆分,分别放置在不同界面的选项卡中QTabWidget类中常用的方法方法描述addTab()将一个控件添加到Tab控件的选项卡中insertTab()将一个Tab控件的选项卡插入到指定的位置removeTab()根据指定的索引删除Tab控件setCurre转载 2021-04-27 23:40:39 · 958 阅读 · 0 评论 -
PyQt5高级界面控件之QTreeWidget(五)
QTreeWidgetQTreeWidget类中的常用方法方法描述setColumnWidth(int column,int width)将指定列的宽度设置为给定的值Column:指定的列width:指定的宽度insertTopLevelItems()在视图的顶层索引中引入项目的列表expandAll()展开所有节点的树形节点invisibleRootItem()返回树形控件中不可见的根选项(Root Item)selectionIte转载 2021-04-27 23:39:27 · 1181 阅读 · 0 评论 -
PyQt5高级界面控件之QTableWidget(四)
QTableWidget前言QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的QTableWidget类中的常用方法方法描述setROwCount(int row)转载 2021-04-27 23:38:18 · 1056 阅读 · 1 评论 -
PyQt5高级界面控件之QListWidget(三)
QListWidget前言QListWidget类是一个基于条目的接口,用于从列表中添加或删除条目,列表中的每个条目都是一个QListWidgetItem对象,QListWidget可以设置为多重选择QListWidget类中常用的方法方法描述addItem()在列表中添加QListWidgetItem对象或字符串addItems()添加列表中的每个条目insertItem()在指定地索引处插入条目clear()删除列表的内容setCurrentI转载 2021-04-27 23:37:07 · 1011 阅读 · 0 评论 -
PyQt5高级界面控件之QLIstView(二)
QListView前言QlistView类用于展示数据,它的子类是QListWIdget。QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据QListWidget是一个升级版本的QListView,它已经建立了一个数据储存模型(QListWidgetItem),直接调用addItem()函数,就可以添加条目(Item)QListView类中常用的方法如表方法描述setModel()用来设置View所关联的Model,可以使用Python原生的转载 2021-04-27 23:35:51 · 839 阅读 · 0 评论 -
PyQt5高级界面控件之QTableView(一)
QTableView前言在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到QTableView类了,在QTableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据源QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先通setModel来绑定数据源),而QTableWidget自能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象实现的,通常转载 2021-04-27 23:34:33 · 1285 阅读 · 0 评论 -
PyQt5基本控件详解之QPrinter(二十七)
QPrinter前言打印图像是图像处理软件中的一个常用功能,打印图像实际上是在QPaintDevice中画图,与平时在QWidget。QPixmap和QImage中画图是一样的,都是创建一个QPainter对象进行画图的,只是打印使用的是QPrinter,它的本质上也是一个QPainterDevice(绘图设备)实例:QPrinter的使用import sysfrom PyQt5.QtWidgets import QApplication,QMainWindow,QLabel,QSizePol转载 2021-04-26 22:51:27 · 731 阅读 · 0 评论 -
PyQt5基本控件详解之QStatusBar(二十六)
前言MainWindow对象在底部保留有一个水平条,作为状态栏(QstatusBar),用于显示永久或临时的状态信息QStatusBar类中的常用方法方法描述addWidget()在状态栏中添加给定的窗口小控件对象addPermanentWidget()在状态栏中永久添加给定的窗口小控件对象showMessage()在状态栏显示一条临时信息,指定时间间隔clearMessage()删除正在显示的临时信息removeWidget()从状态栏中移除指定转载 2021-04-26 22:50:31 · 1573 阅读 · 0 评论 -
PyQt5基本控件详解之QToolBar(二十五)
QToolBar前言QToolBar控件是由文本按钮,图标或其他小控件按钮组成的可移动面板,通常位于菜单栏下方QToolBar类中的常用方法方法描述addAction()添加具有文本或图标的工具按钮addSeperator()分组显示工具按钮addWidget()添加工具栏中按钮以外的控件addToolBar()使用QMainWindow类的方法添加一个新的工具栏setMovable()工具变得可移动setOrientation()工转载 2021-04-26 22:49:32 · 1029 阅读 · 0 评论 -
PyQt5基本控件详解之QMenuBar(二十四)
QMenuBar前言在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象QMenuBar类提供了一个可以包含一个或多个QAction对象或 级联的QMenu对象,要创建一个弹出菜单,Pyqt提供了createPopupMenu()函数,menuBar()函数用于返回主窗口的QMenuBar对象:addMenu()函数可以将菜单添加到菜单栏中,通过addAction()函数可以在菜单中进行添加操作设计菜单系统时常用的一些重要方法方法描述me转载 2021-04-26 22:48:32 · 367 阅读 · 0 评论 -
PyQt5基本控件详解之QDateTimeEdit(二十三)
前言QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘上的上下键头按钮来增加或减少日期的时间值,QDateTimeEdit通过setDisplayFormat()函数来设置显示的日期时间格式QDateTimeEdit类中常用方法方法描述setDisplayFormat设置日期的时间格式yyyy:代表年份,用4为数表示MM:代表月份,取值范围01-12dd:代表日,取值范围01-31HH:代表小时,取值范围00-23转载 2021-04-26 22:47:23 · 2285 阅读 · 2 评论 -
PyQt5基本控件详解之QCalendar(二十二)
QCalendar前言QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今日的日期。也可以对日期的范围进行规定QCalendar类中常用的方法方法描述seTDateRange()设置日期可供选择的范围setFirstDayWeek()重新设置星期的第一天,默认是星期天,其参数枚举值如下Qt.Monday:星期一Qt.Tudesday:星期二Qt.Wednesday:星期三Qt.T转载 2021-04-26 22:46:25 · 480 阅读 · 0 评论 -
PyQt5基本控件详解之QClipboard(二十一)
QClipboard前言QClipboard类提供了对系统剪切板的访问,可以在应用程序之间复制和粘贴数据,它的操作类似于QDrag类,,并使用类似的数据结构QApplication类有一个静态方法clipboard(),它的返回值对剪切板对象的引用,任何类型的MimeData都可以从剪切板复制或粘贴QClipboard类中的常用方法如表方法描述clear()清空剪切板的内容setImage()将QImage对象复制到剪切板中setMimeData()将MI转载 2021-04-26 22:45:27 · 431 阅读 · 0 评论 -
PyQt5基本控件详解之Drag(二十)
Drag与Drop前言为用户提供的拖曳功能很直观,在很对桌面应用程序中,复制或移动对象都可以通过拖曳来完成基于MIME类型的拖曳数据传输是基于QDrag类的,QMimeData对象将关联的数据与其对应的MIME类型相关联MIME意为多功能Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。每个MIME类型由两部分组成,前面是数转载 2021-04-26 22:44:24 · 260 阅读 · 0 评论 -
PyQt5基本控件详解之QPixmap(十九)
QPixmap前言QPixmap类用于绘图设备的图像显示,它可以作为一个QPainterDevice对象,也可以加载到一个控件中,通常是标签或者按钮,用于在标签或按钮上显示图像QPixmap可以读取的图像文件类型有BMP,GIF,JPG等QPixmap类中常用的方法方法描述copy()从QRect对象复制到QPixmap对象fromImage()将QImage对象转换为QPixmap对象grabWidget()从给定的一个窗口小控件创建一个像素图gr转载 2021-04-26 22:43:22 · 2941 阅读 · 0 评论 -
PyQt5基本控件详解之QPen与QBrush(十八)
QPenQPen(钢笔)是一个基本的图形对象,用于绘制直线,曲线或者给轮廓画出矩形,椭圆形,多边形及其他形状实例:QPen的使用import sysfrom PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import *class Drawing(QWidget): def __init__(self): super().__init__() self.initUI转载 2021-04-26 22:42:17 · 1989 阅读 · 0 评论 -
PyQt5基本控件详解之QPainter(十七)
Qpainter前言:必读在PyQt5中,一般可以通过Qpainter,QPen,QBrush这三个类来实现绘图功能,此外,QPixmap的作用是加载并呈现本地图像,而图像的本质上也是通过绘图方式实现的,所以QPixmap也可以被视为绘图的一个类Qpainter类在QWidget(控件)上执性绘图操作,它是一个绘制工具,为大部分图形化界面提供了高度优化的函数,使QPainter类可以绘制从简单的直线到复杂的饼图等*绘制操作在QWidget.paintEvent()中完成,绘制方法必须放在QtGui转载 2021-04-26 22:41:12 · 855 阅读 · 0 评论