02 2022 档案
摘要:通过创建和执行数据库的语言来完成对数据库的操作 MyDB.py """ 操作SQLite数据库 """ import sys from PyQt5.QtSql import QSqlDatabase, QSqlQuery def createDB(): db = QSqlDatabase.addDa
阅读全文
摘要:pyinstaller -Fw 文件名.py -w: 不显示终端 -F: 打包成一个
阅读全文
摘要:构造group组,将动画窗口进行添加,实现多窗口的运动效果 MoveWindow.py """ 用动画效果-不同速度移动窗口 """ from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import *
阅读全文
摘要:使用QPropertyAnimation动态的设置属性, 从而实现动画的效果AnimWindow.py """ 用动画效果改变窗口尺寸 QPropertyAnimation """ from PyQt5.QtGui import * from PyQt5.QtCore import * from P
阅读全文
摘要:使用win.setStyleSheet来加载读入CSS语句,从而做界面的样式 LoadQSS.py """ 转载QSS文件 """ import sys from PyQt5.QtWidgets import * from CommonHelper import CommonHelper class
阅读全文
摘要:通过QMianWindow().setWindowOpacity(来设置透明度) OpacityWindow.py """ 创建透明窗口 """ from PyQt5.Qt import * import sys if __name__ == "__main__": app = QApplicati
阅读全文
摘要:设置按钮的名字,然后根据名字对背景和按下操作添加图片 LabelButtonBackground.py """ 使用QSS为标签和按钮添加背景图 """ from PyQt5.QtWidgets import * import sys class LabelButtonBackground(QWid
阅读全文
摘要:首先先加载动画, 然后将加载好的动画放到组件上做显示gitanim.py """ 装载Gif动画 QMovie """ import sys from PyQt5.QtWidgets import QApplication, QLabel, QWidget from PyQt5.QtCore imp
阅读全文
摘要:通过一个定时器实现动画效果,通过转动索引值,设置图片的QPixmap实现定时的效果 AnimationWindows.py """ 不规则窗体的动画实现 """ import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQ
阅读全文
摘要:通过计算鼠标的位置和初始化位置来对选框进行移动操作 AbnormityWindowMove.py """ 实现不规则窗口的移动(异形窗口) 通过mask实现异形窗口 需要一张透明的png图, 透明部分被扣出, 形成一个非矩形区域 """ import sys from PyQt5.QtWidgets
阅读全文
摘要:设置掩膜,在画图时,导入掩膜的长和宽 AbnormityWindow.py """ 实现不规则窗口(异形窗口) 通过mask实现异形窗口 需要一张透明的png图, 透明部分被扣出, 形成一个非矩形区域 """ import sys from PyQt5.QtWidgets import * from
阅读全文
摘要:设置控件的名字,对控件下面的子控件进行设置QSS QSSSubControl.py """ QSS子控件选择器 QComboBox """ from PyQt5.QtWidgets import * import sys class QSSSubControl(QWidget): def __ini
阅读全文
摘要:通过设置主键的名字来构造特定按钮的组件 QSSSelector.py """ 使用QSS选择器设置控件样式 """ from PyQt5.QtWidgets import * import sys class QSSSelector(QWidget): def __init__(self): sup
阅读全文
摘要:设置界面上所有的按钮都变为红色 BasicQSS.py """ QSS基础 QSS(Qt Style Sheets) Qt样式表 用于设置控件的样式 CSS """ from PyQt5.QtWidgets import * import sys class BasicQSS(QWidget): d
阅读全文
摘要:通过鼠标的点击,来获得直线的初始化位置, 通过鼠标的移动事件,获得当前的位置,获得完位置后进行绘图,同时再更新初始化的位置 Drawing.py """ 项目实战: 实现绘图应用 需要解决3个核心内容 1.如何绘图 2.在哪里绘图 3.如果通过鼠标进行绘图 """ import sys from P
阅读全文
摘要:可以通过自定义函数实现窗口的最大化,即self.setGeometry(rect)设置窗口为桌面的尺寸 也可以直接调用系统的程序进行实现 WindowMaxMin.py """ 用代码控制窗口的最大值和最小值 """ from PyQt5.QtWidgets import * from PyQt5.
阅读全文
摘要:设置边框的样式,如去除边框, 设置窗口在最前端等 WindwoPattern.py """ 设置窗口边框, 样式和插入背景图片 """ from PyQt5.QtCore import * import sys from PyQt5.QtWidgets import * class WindowPa
阅读全文
摘要:通过下拉列表的选择来进行窗口的设置 WindowStyle.py """ 窗口, 绘图与特效:设置窗口控件风格 QApplication.setStyle(...) """ import sys from PyQt5.QtWidgets import * from PyQt5.QtCore impo
阅读全文
摘要:如果不使用信号传递, 主窗口构造子窗口的变化的函数来完成窗口的交互 如果使用信号传递, 主窗口根据信号的变化来完成窗口的交互 NewDateDialog.py from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidg
阅读全文
摘要:1.方法1: 通过对类进行执行, 然后获得类的执行的结果 方法2:通过调用类里面的静态方法,对类进行执行来获得最终的结果DateDialog.py from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets im
阅读全文
摘要:通过重写按钮按下的事件,来生成按键新的功能 OverrideSlot.py """ Override(覆盖) 槽函数 """ from PyQt5.QtWidgets import * from PyQt5.QtCore import * import sys class OverrideSlot(
阅读全文
摘要:partial的用法和上一节的lambda一致 PartialSlotArg.py """ 使用Partial对象为槽函数传递参数 """ from PyQt5.QtWidgets import * import sys from functools import partial class Par
阅读全文
摘要:在连接槽函数时,直接使用lambda构造输入参数,达到输入参数的目的 """ 使用lambda表达式为槽函数传递参数 Lambda表达式: 匿名函数, 也就是没有名字的函数 fun = lambda : print("hello world") fun() fun1 = lambda x,y:pri
阅读全文
摘要:@QtCore.pyqtSlot 定义为需要自动连接的槽函数, on_对象名_信号名字 AutoSignalSlot.py """ 信号与槽自动连接 on_对象名_signalname """ from PyQt5 import QtCore from PyQt5.QtWidgets import
阅读全文
摘要:步骤: 在主线程中实例化并且启动子线程,然后由子线程通过信号发送器向主线程发送信号 ThreadUpdateUI.py """ 多线程更新UI数据(在两个线程中传递函数) """ from PyQt5.QtCore import QThread, pyqtSignal, QDateTime from
阅读全文
摘要:流程: 首先点击按钮调用函数, 函数执行发送信号操作, 信号对应的槽函数实现窗口关闭的效果 WinSignal.py """ 为窗口类添加信号 """ from PyQt5.QtWidgets import * from PyQt5.QtCore import * import sys class
阅读全文
摘要:这里主要是有两种情况: 1.一个信号连接多个槽函数 2.多个信号连接一个槽函数 """ 信号槽N对N连接与断开连接 """ from PyQt5.QtCore import * class NNSignal(QObject): signal1 = pyqtSignal() signal2 = pyq
阅读全文
摘要:当槽函数会有多种类型的函数输入时,需要进行重载,这里对信号构成进行重载,在绑定槽函数时,做指定操作 MultiSignal.py """ 为类添加多个信号 """ from PyQt5.QtCore import * class MultiSignal(QObject): signal1 = pyq
阅读全文
摘要:在构造信号的时候,构造多个参数的信号,构造槽函数时,允许接收多个输入的函数 CustomMultiSignal.py """ 自定义信号 pyqtSignal() """ from PyQt5.QtCore import * class MyTypeSignal(QObject): #定义一个信号
阅读全文
摘要:定义信号发射器,将其与槽函数进行绑定, 通过发送信号来触发槽函数,实现自定义信号 CustomSignal.py """ 自定义信号 pyqtSignal() """ from PyQt5.QtCore import * class MyTypeSignal(QObject): #定义一个信号 se
阅读全文
摘要:通过对按钮绑定函数来生成信号和槽,即信号是按钮点击时发送的信号, 槽为对应绑定的函数 SignalSlotDemo.py """ 信号(Signal) 与槽(Slot) """ from PyQt5.QtWidgets import * import sys class SigalSlotDemo(
阅读全文
摘要:将水平或者垂直的布局修改为可以拖动长宽的布局 Splitter.py """ 拖动控件之间的边界(Splitter) """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class Splitt
阅读全文
摘要:添加标签和每一行的文本来构造表单布局 FormLayout.py """ 表单布局 """ import sys, math from PyQt5.QtWidgets import * class FormForm(QWidget): def __init__(self): super(FormFo
阅读全文
摘要:对栅格布局添加控件,通过控件的位置和长宽来控制大小和位置 GridForm.py """ 栅格布局: 表单设计 """ import sys, math from PyQt5.QtWidgets import * class GridForm(QWidget): def __init__(self)
阅读全文
摘要:在栅格布局上构造计算器的按钮, Calc.py """ 栅格布局: 实现计算器UI """ import sys, math from PyQt5.QtWidgets import * class Calc(QWidget): def __init__(self): super(Calc, self
阅读全文
摘要:通过构建垂直布局,然后将上半部和需要放在下方的按钮,设置收缩量,一个收缩量为0, 按钮的收缩量为1 RightBottomButton.py """ 让按钮永远在窗口右下角 """ import sys, math from PyQt5.QtWidgets import * from PyQt5.Q
阅读全文
摘要:添加成比例的收缩量,如果收缩量为0时,所有的控件都分布在界面的左边 当收缩量不为0时 Stretch.py """ 设置控件的伸缩量 """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt clas
阅读全文
摘要:垂直布局和水平布局的参数调用情况是一致的 VBoxLayout.py """ 垂直盒布局(QVBoxLayout) """ import sys, math from PyQt5.QtWidgets import * class VBoxLayout(QWidget): def __init__(s
阅读全文
摘要:在添加组件的同时, 设置间距和对齐的方式 HBoxLayoutAlign.py """ 设置控件的对齐方式 """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class HBoxLayout(
阅读全文
摘要:构造水平布局, 在水平布局上添加按钮,同时调节了按钮之间的间距 HBoxLayout.py """ 水平盒布局(QHBoxLayout) """ import sys, math from PyQt5.QtWidgets import * class HBoxLayout(QWidget): def
阅读全文
摘要:使用.move将控件水平移动到特定的位置, 被称为绝对布局 AbsoluteLayout.py """ 绝对布局 """ import sys, math from PyQt5.QtWidgets import * class AbsoluteLayout(QWidget): def __init_
阅读全文
摘要:通过点击按钮, 执行html中的javaScript函数 PyQtCallJS.py """ PyQt5调用JavaScript代码 PyQt5和JavaScript交互 什么叫交互 PyQt5 <-> JavaScript """ import os from PyQt5.QtWidgets im
阅读全文
摘要:可以直接将html写在python里面做显示 """ 加载内部的HTML """ import os from PyQt5.QtWidgets import * from PyQt5.QtCore import QTimer, QDateTime from PyQt5.QtGui import *
阅读全文
摘要:加载本地的html文件 LocalHtml.py """ 加载本地的html页面 """ import os from PyQt5.QtWidgets import * from PyQt5.QtCore import QTimer, QDateTime from PyQt5.QtGui impor
阅读全文
摘要:构造网页显示器, 在界面上显示对应的网址内容 WebEngineView.py """ 用Web浏览器控件(QWebEngineView)显示网页 PyQt5和Web的交互技术 同时使用Python和Web开发程序, 混合开发 python + JavaScript + HTML5 + CSS QW
阅读全文
摘要:构造线程的信息函数,定时发送信号, 将时间信息器绑定函数,实现定时执行的操作 Counter.py """ 使用线程类(QThread)编写计数器 QThread def run(self): while True: self.sleep(1) if sec == 5: break; QLCDNum
阅读全文
摘要:设置定时器对整个程序进行关闭 """ 让程序定时关闭 QTimer.singleShot """ import sys from typing import Union from PyQt5.QtWidgets import * from PyQt5.QtCore import QTimer, QD
阅读全文
摘要:动态显示时间, 点击按钮开始时间计时器, 每隔一秒显示一次时间 showTime.py """ 动态显示当前时间 QTimer QThread 多线程: 用于同时完成多个任务 """ import sys from PyQt5.QtWidgets import * from PyQt5.QtCore
阅读全文
摘要:使用滑动组件来改变文本的颜色, 使用滑动组件来调整文本的位置信息 ScrollBar.py """ 滚动条控件(QScrollbar) QScollBar的作用 1.通过滚动条值的变化控制其他控件状态的变化 2.通过滚动条值的变化控制控件的位置变化 """ import sys from PyQt5
阅读全文
摘要:添加菜单栏的组件, 通过点击菜单栏的组件按钮来生成新的窗口, 然后对新的窗口进行重叠或者扩张的操作 MultiWindows.py """ 容纳多文档的窗口 QMdiArea QMdiSubWindow """ import sys, math from PyQt5.QtWidgets import
阅读全文
摘要:构造一个悬浮的组件, 然后将主要的组件添加到这个悬浮组件上 DockWidget.py """ 停靠控件(QDockWidget) """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtGui import * from Py
阅读全文
摘要:通过点击左边的列表选项, 通过绑定按钮,使得右侧的堆栈窗口控件的界面显示发生变化 QStackedWidget.py """ 堆栈窗口控件(QStackedWidget) """ import sys from PyQt5.QtCore import * from PyQt5.QtGui impor
阅读全文
摘要:将页面组件添加到选项卡上面,然后通过setTabText修改选项卡的标题 TabWidget.py """ 选项卡控件: QTabWidget """ import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5
阅读全文
摘要:主要是将系统的目录显示到树控件上 TreeView.py """ QTreeView控件与系统定制模式 QTreeWidget Model QDirModel """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import *
阅读全文
摘要:主要介绍节点的删除, 节点的添加, 节点的修改 ModifyTree.py """ 添加, 修改和删除树控件中的节点 """ import sys from PyQt5.QtWidgets import * class ModifyTree(QWidget): def __init__(self):
阅读全文
摘要:为树控件添加响应事件, 通过QTreeWidget().currentItem获得当前被点击的树控件的item TreeEvent.py """ 为树节点添加响应事件 """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGui impo
阅读全文
摘要:主要介绍树的基本用法,为树添加子节点和为子节点添加更小的子节点,同时展开所有的树节点 BasicTreeWidget.py """ 树控件(QTreeWidget)的基本用法 """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGui
阅读全文
摘要:右键点击表格的选项,然后弹出响应的菜单 TableWidgetContextMenu.py """ 在表格中显示上下文菜单 1.如何弹出菜单 2.在满足条件下弹出菜单 QMenu.exec_ """ import sys from PyQt5.QtWidgets import * from PyQt
阅读全文
摘要:第一步先设置图片的尺寸, 第二步设置表格尺寸的宽和高 CellImageSize.py """ 设置图片的大小 setIconSize(QSize(width, height)) """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGu
阅读全文
摘要:使用QTableWidgetItem(图片, 文字)实现图文并排 CellImageText.py """ 在单元格中实现图文混排的功能 """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * class Cell
阅读全文
摘要:当单元格中的字体或者图片过大时,需要设置单元格的大小,使得其中的字体可以完全的显现出来 CellSize.py """ 设置单元格的尺寸 """ import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import QColor, QBru
阅读全文
摘要:根据当前的位置,判断当前需要合并的行数和列数情况 """ 合并单元格 setSpan(row, col, 要合并的行, 要合并的列) """ """ 设置单元格的文本对齐方式 setTextAlignment """ import sys from PyQt5.QtWidgets import *
阅读全文
摘要:设置表格的对齐方式, 使用|表示可以同时拥有两种对齐的方式, 如右下, 左上等 """ 设置单元格的文本对齐方式 setTextAlignment """ import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt cla
阅读全文
摘要:使用QTableWidget().sortItems()对某一列进行升序或者降序, 使用按钮进行排序,原来是升序点击完以后就是降序 """ 按列排序 1. 按哪一列排序 2. 排序类型: 升序或降序 sortItems(columnIndex, orderType) """ import sys f
阅读全文
摘要:设置字体的颜色和大小, 设置前景和背景 """ 设置单元格的字体和颜色 """ import sys from PyQt5.QtWidgets import * from PyQt5 import QtCore from PyQt5.QtGui import QColor, QBrush from
阅读全文
摘要:根据查找的文本,对表格中的元素进行搜索, 搜索到的结果返回为item元素, 通过item.row()返回行, item.col()返回列 """ 在表格中快速定位到特定的行 1. 数据的定位: findItems 2. 如果找到满足条件的单元格, 会定位到单元格所在的行: setSliderPosi
阅读全文
摘要:设置控件的样式,然后将控件放入到表格中 """ setCellWidget:将控件放到单元格 setItem: 将文本放到单元格 setStyleSheet: 设置控件的样式(QSS) 在单元格中放置控件 """ from PyQt5 import QtGui, QtWidgets, QtPrint
阅读全文
摘要:TableWidget是TableViewer的子函数, 整体的使用方式和TableViewer一致,只是多了一些方法 """ 扩展的表格控件(QTableWidget) QTableView """ import sys from PyQt5.QtWidgets import * class Ta
阅读全文
摘要:点击列表,弹出的对话框显示被点击的选项 """ 扩展的列表控件(QListWidget) QListView """ from PyQt5.QtWidgets import * import sys class ListWidgetDemo(QMainWindow): def __init__(se
阅读全文
摘要:首先设计列表的文字内容模型,然后将模型添加到列表中, 通过绑定的函数,显示对应的信息框内容 """ 显示列表数据(QListView控件) """ from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore im
阅读全文
摘要:首先设置model,用于设置表头属性和填充表格内容, 然后使用QTableView将model填充到表格内 """ 显示二维表数据(QTableView控件) 数据源 Model 需要创建QTableView实例和一个数据源(Model), 然后将两者关联 MVC: Model Viewer Con
阅读全文
摘要:通过点击按钮, 打开文件, 打开打印机设置, 打开打印机对话界面进行打印 """ 显示打印对话框 """ from PyQt5 import QtGui, QtWidgets, QtPrintSupport from PyQt5.QtWidgets import QMainWindow from P
阅读全文
摘要:设计一个文本编辑框,然后将打印的内容导向到图像编辑器上,通过绘图编辑器对文本编辑框的内容进行打印 """ 使用打印机 """ from PyQt5 import QtGui, QtWidgets, QtPrintSupport from PyQt5.QtWidgets import QMainWin
阅读全文
摘要:通过点击菜单栏的按钮,在状态栏显示5秒的文字 """ 创建和使用状态栏 """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class Stat
阅读全文
摘要:构造工具栏, 然后根据工具栏绑定事件,同时将文字放在图标的下方 """ 创建和使用工具栏 工具栏默认按钮: 只显示图标, 将文本作为悬停时 工具栏按钮有3种显示状态 1.只显示图标 2.只显示文本 3.只显示图标和文本 """ import sys, math from PyQt5.QtWidget
阅读全文
摘要:使用menuBar()获取菜单栏, 使用.addMenu("文件")构造单个菜单, 使用.addAction("新建") 进行按钮的添加 下面主要是添加两个菜单栏,作为布局 """ 创建和使用菜单 """ import sys, math from PyQt5.QtWidgets import *
阅读全文