Pyqt5笔记
文章平均质量分 68
本专栏为观看pyqt5课程笔记
课程视频链接
https://study.163.com/course/introduction/1006126030.htm
笔记对应的py文件链接
https://gitee.com/he-suyu/pyqt_note
Suyuoa
这个作者很懒,什么都没留下…
展开
-
93.pyqt py文件打包
打包的意义在于我把这个UI给别人的时候,别人不用安装python直接双击就可以运行文件,常用的打包工具有下面三种我们在这里介绍pyinstaller,pyinstaller支持windows,mac与linux,但是不能交叉使用,我在windows中打包就只能在windows中使用,在linux打包就只能在linux中使用,操作系统位数有可能也会造成影响,比如windows64位与32位目录1安装pyinstaller2打包文件2.1不带参数直接打包 pyinstalle...原创 2021-08-06 17:11:25 · 332 阅读 · 0 评论 -
附录-常用的活动模板
目录1qto2qtt3animation4qto使用UI转PY的文件1qto面向对象写界面时用到的from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("的学习") self.resize(500,500) self.setup_u...原创 2021-08-06 17:45:09 · 128 阅读 · 0 评论 -
92.最后的综合案例
目录1综合案例介绍2注册模块2.1页面实现2.1.1控件大小不随布局管理器改变2.1.2想修改控件之间的间距2.1.3设置背景时将QWidget的子控件也设置成了相同背景2.1.4统一设置样式2.1.5控件背景颜色设置为透明2.1.6按钮按下与非按下两个状态设置不同的颜色2.1.7单行文本编辑器只保留边框下方的横线2.1.8左上角的样式2.1.9hover状态2.1.10更改objectname2.1...原创 2021-08-06 17:06:08 · 247 阅读 · 0 评论 -
91.动画的简单使用
动画继承结构图如下所示QAbstractAnimation 抽象动画QAnimationGroup 动画组 QParallelAnimationGroup 同时做的动画组 QSequentialAnimationGroup 顺序做的动画组 QPauseAnimation 暂停动画 QVariantAnimation 变体动画 QPropertyAnimation 属性动画 1动画使用步骤我们使用QPropertyAnimation做一个例子直接父类是QVarian..原创 2021-08-06 11:20:05 · 1003 阅读 · 0 评论 -
90.装饰器自动连接信号与槽
目录1未使用UI转PY文件使用装饰器2使用UI转PY文件使用装饰器1未使用UI转PY文件使用装饰器我们将UI转为py文件后会发现py文件中有这样一句话,这一句的意思是会根据槽函数的名称链接信号经测试我们把这句话删了对 88.QTDesigner/login1.py 也没什么影响这样写的目的是 不使用我们之前常用的信号与槽连接的方法由于QtCore在我们之前已经导入过了,我们现在这样写这样写的话所有窗口的子控件都会根据objectname连接固定的信号然后...原创 2021-08-05 13:52:17 · 136 阅读 · 0 评论 -
89.自定义信号
有的信号在Pyqt5本身是没有的,比如说双击一个按钮,右击一个按钮目录1创建自定义信号2自定义信号在Qt.designer中的使用3自定义信号传递参数1创建自定义信号首先我们应该自定义一个类我们需要在自定义类中创建一个类属性,类属性pyqtSignal()对象信号实际上是事件的扩展,定义信号我们需要对事件进行操作我们无论是要创建双击信号或是右击信号,本质上都是按下事件松开事件的处理我们应该重写事件,为了不影响其他信号的使用所以我们首先应该继承原...原创 2021-08-05 10:27:56 · 280 阅读 · 0 评论 -
88.QTDesigner
当界面上控件比较多的时候,我们建议使用QTDesigner1安装工具安装完毕后我们进入环境的路径如果不知道环境在哪,我们使用在pycharm中点击File --> settings打开之后这样选,箭头指向的位置就是环境的位置像我现在用的是conda,我们找到anaconda的安装文件夹,我这里使用的是base,所以库就在lib/site-packages中如果我们用的是虚拟环境,那么就会在envs/环境名字/lib/site-package中,这个我就不展示了..原创 2021-08-04 17:59:33 · 1253 阅读 · 0 评论 -
87.通过qss实现扑克牌上下左右移动
当前我们有这样一张图片我们搞一个标签来展示图片,然后搞上下左右四个按钮,对图片进行移动,以达到扑克牌的切换首先我们创建label,使他背景为第一张扑克简单摆一下位置先实现功能,最后我们再用布局管理器去摆设置上下按钮的变量槽函数对qss进行操作def down(self): self.v_count = (self.v_count + 1) % 5 self.label.setStyleSheet('background-image:url原创 2021-08-03 17:24:58 · 3220 阅读 · 0 评论 -
86.样式表 QSS
qss和css差不多,是css的弱化版我们起始先搞一个Box1和Box2,然后分别设置背景颜色1回顾setStyleSheet()通过这个方法设置的QSS会作用于控件本身,以及控件所有的子控件也就是说我如果在box1里直接放一个控件和一个标签它的效果是这样的现在我们搞一个选择器我们只对Box1中的按钮控件设置背景颜色2回顾背景颜色 background-color3认识选择器这个只是在Box1中进行筛选,我们如果把范围扩大到整个应用程序就应...原创 2021-08-03 17:18:07 · 1166 阅读 · 1 评论 -
85.尺寸策略
目录1QWidget.sizeHint()2QWidget.minimumSizeHint()3策略取值 setSizePolicy()1QWidget.sizeHint()这个方法会返回控件合适的尺寸大小这个是内置的建议尺寸,如果想要设置的话,需要重写类中的sizeHint方法2QWidget.minimumSizeHint()这个方法会返回最小的建议大小这个是内置的建议尺寸,如果想要设置的话,需要重写类中的minimum...原创 2021-07-28 13:34:43 · 337 阅读 · 0 评论 -
84.QStackedLayout
堆叠布局,同一时间只展示一个控件画蓝框的地方就是一个堆叠布局,每当我点击右侧的按钮时都会换一个控件目录1基本操作1.1构造函数1.2添加子控件1.3切换1.3.1通过索引值切换1.3.2通过控件切换1.4展示模式1.4.1设置 setStackingMode()1.4.2获取 stackingMode()2信号2.1当前控件改变时触发 currentChanged()2.2控件被移除时触发 widge...原创 2021-07-28 09:17:24 · 598 阅读 · 0 评论 -
83.QGridLayout
目录1基本操作1.1构造函数1.2元素操作1.2.1控件 addWidget()1.2.2布局1.2.3获取1.3间距1.3.1纵向间距1.3.2横向间距1.3.3所有间距1.4信息获取1.4.1获取指定控件位置的对应矩形对象 cellRect()1.4.2获取列数 columnCount()1.4.3获取行数 rowCount()1.5原点角1.5.1获取 originCorne...原创 2021-07-28 09:08:45 · 868 阅读 · 0 评论 -
82.QFormLayout
是表格布局管理器,继承QLayout像注册这种界面用的就是表格布局管理器目录1构造函数2行操作2.1添加行 addRow()2.1.1addRow(self, QWidget, QWidget)2.1.2addRow(self, QWidget, QLayout)2.1.3addRow(self, str, QWidget)2.1.4addRow(self, str, QLayout)2.1.5addRow(self, QWidge...原创 2021-07-27 16:27:08 · 544 阅读 · 0 评论 -
80.QBoxLayout
目录1构造函数2修改方向2.1设置 setDirection()2.2获取 direction()3添加元素3.1添加控件3.1.1addWidget()3.1.2insertWidget()3.2添加子布局3.2.1addLayout()3.2.2insertLayout()3.3替换控件 replaceWidget()3.4移除控件3.4.1removeWidget()3.4.2QWi...原创 2021-07-27 16:11:12 · 772 阅读 · 0 评论 -
79.QLayout
所有涉及到的方法如下所示这个layout是一个抽象类,不可以被实例化上面的所有方法,我们都用它的子类QBoxlayout来测试实例化时需要一个方向的参数,可以选参数如下我们此时就选择一个从左至右的方向,然后搞两个标签放在布局管理器中目录1小控件之间的间距1.1设置 setSpacing()1.2获取 spacing()2外边距2.1设置 setContentsMargins()2.2获取 contentsMargins()...原创 2021-07-27 13:47:53 · 347 阅读 · 0 评论 -
78.布局管理
目录1一个例子2布局的简单使用2.1创建布局对象2.2设置布局对象参数2.2.1设置间距 setContentsMargins()2.2.2设置间隔 setSpacing()2.2.3设置摆放方式 setAlignment()2.3设置给需要布局的控件父控件或调整方向2.3.1父控件设置布局管理器 QWidget.setLayout()2.3.2设置方向 QWidget.setLayoutDirection()2.3.3...原创 2021-07-27 13:39:46 · 343 阅读 · 0 评论 -
77.控件部分结束小结
并非所有控件都在前面涉及到,比如Pyqt5中的所有控件都在专栏简介课程链接进群后的 控件展示图.xmind 中有所体现,当想做一个UI的时候,可以先打开那个xmind构思一下原创 2021-07-27 13:33:55 · 69 阅读 · 0 评论 -
76.QMessageBox
继承QDialog它是由这些部分组成的它是可以使用标准图标的,比如消息图标错误图标警告图标提问图标无图标目录1基本操作1.1构造函数1.1.1方式一1.1.2方式二1.2设置对话框标题 setWindowTitle()1.3图标设置1.3.1标准图标 setIcon()1.3.2自定义图标 setIconPixmap()1.4设置主要标题 setText(str)1.5提示文本1...原创 2021-07-27 09:51:48 · 2589 阅读 · 0 评论 -
75.QProgressDialog
继承QDialog对话框中会显示一个进度条目录1基本操作1.1构造函数1.2自动关闭进度条1.2.1设置 setAutoClose()1.2.2获取 autoClose()1.3自动重置进度条1.3.1设置 setAutoReset()1.3.2获取 autoReset()1.3.3手动重置进度条进度 reset()1.4自动弹出时间1.4.1设置 setMinimumDuration()1.4.2获取 ...原创 2021-07-27 09:29:42 · 932 阅读 · 0 评论 -
74.QErrorMessage
长这个样子继承QDialog目录1功能作用1.1构造函数1.2展示对话框 showMessage()2展示级别信息 QErrorMessage.qHandler()3信号1功能作用1.1构造函数由于是对话框,如果要展示,需要加上show()或open()或exec()1.2展示对话框 showMessage()这个方法中包含show的作用参数为对话框空白处的内容我们现在如果放两行showMessage...原创 2021-07-27 09:24:00 · 166 阅读 · 0 评论 -
72.QProgressBar
进度条继承QWidget1构造函数2格式设置2.1设置范围和当前值默认最小值是0,最大值是1002.1.1最小值2.1.1.1设置 setMinimum()我们现在设置最小值为102.1.1.2获取 minimum()2.1.2最大值2.1.2.1设置 setMaximum()我们现在设置最大值为502.1.2.2获取 maximum()2.1.3设置范围 setR...原创 2021-07-27 09:21:17 · 412 阅读 · 0 评论 -
71.QLCDNumber
继承QFrame长这样可显示的内容如下目录1基本操作1.1构造函数1.2显示数值1.2.1设置 display()1.2.2获取整形部分 intValue()1.2.3获取值 value()1.3位数限制1.3.1设置 setDigitCount()1.3.2获取 digitCount()1.4模式(进制)设置1.4.1设置 setMode()1.4.2获取 mode()1.4.3快捷...原创 2021-07-27 09:01:09 · 1626 阅读 · 0 评论 -
70.QLabel
标签控件,可以展示图像和文本可以展示gif图继承QFrame目录1功能作用1.1构造函数1.2对齐1.2.1设置 setAlignment()1.2.2获取 alignment()1.3缩进1.3.1获取 indent()1.3.2设置 setIndent()1.4边距1.4.1获取 margin()1.4.2设置 setMargin()1.5文本格式1.5.1获取 textFormat(...原创 2021-07-26 15:58:36 · 1039 阅读 · 0 评论 -
69.QCanlendarWidget
继承QWidget日历控件,长这样面这个是它的区域划分情况目录1基本操作1.1构造函数1.2日期范围1.3日期编辑1.3.1编辑状态1.4日期获取1.5选中1.5.1选中指定日期 setSelectedDate(QDate date)1.5.2选中模式1.6展示日期2格式外观2.1导航条2.1.1查看有无导航条 isNavigationBarVisible()2.1.2设置有无...原创 2021-07-26 14:03:08 · 448 阅读 · 0 评论 -
68.QInputDialog
继承QDialog下面介绍的函数中的参数flags的意思是标致,比如说有无边框这种目录1静态方法1.1获取整形数据 getInt()1.2获取浮点型数据 getDouble()1.3获取单行字符串型数据 getText()1.4获取多行字符串类型数据 getMultLineText()1.5获取下拉列表的选中的条目 getItem()2功能作用2.1构造函数2.2选项设置2.2.1设置一个选项 setOption()...原创 2021-07-26 13:44:33 · 1258 阅读 · 0 评论 -
66.QFileDialog
继承 QDialog目录1静态方法1.1获取文件1.1.1获取单个文件 getOpenFileName()1.1.2获取多个文件 getOpenFileNames()1.1.3获取文件的url getOpenFileUrl()1.1.4获取多个文件的url getOpenFileUrls()1.1.5获得保存文件路径 getSaveFileUrls()1.1.6获取文件保存url getSaveFileUrl()1.2获取文件夹...原创 2021-07-26 10:15:37 · 1390 阅读 · 2 评论 -
65.点击按钮出现颜色对话框,在对话框中选择颜色,将其作为窗口的背景颜色,对话框的背景颜色不变
如果我们这样搞就会出现下面这种情况此时我们需要单独设置背景颜色行了原创 2021-07-26 09:57:30 · 317 阅读 · 0 评论 -
64.QColorDialog
继承QDialog目录1基本操作1.1构造函数1.2打开对话框1.3当前颜色1.4最终选中的颜色 selectedColor()1.5选项控制1.6信号2静态方法2.1获取自定义区域索引个数 customCount()2.2设置指定索引颜色 setCustomColor(int,QColor)2.3获取自定义区域指定索引的颜色 customColor(int)2.4设置标准颜色指定位置颜色 setStanda...原创 2021-07-26 09:56:04 · 778 阅读 · 0 评论 -
62.QFontDialog
继承QDialog主要处理文字信息的对话框1构造函数可以直接给一个父对象创建也可以额外放一个QFont2打开对话框2.1open(PYQT_SLOT)open括号内的参数是槽函数如果我们在open中加入槽函数我们在点击OK后会触发指定的槽函数2.2exec()会返回一个整形数据点OK返回1,点取消返回0,点右上角的叉也返回03最终选中字体 selectedFont()该方法会返回一个QFont...原创 2021-07-26 09:48:08 · 307 阅读 · 0 评论 -
61.QDialog
继承QWeight有四个子控件QFontDialogQColorDialogQFileDialogQInputDialog这里涉及到两个概念 模态对话框:打开后只能处理对话框中的内容,关闭对话框之后才能处理别的控件的内容 非模态对话框:打开后可以先把对话框放到一遍处理其他控件的内容 模态对话框有两个级别应用程序级别:如果不关闭对话框,其他的窗口连看都看不到 窗口级别:如果不关闭对话框,其他的窗口还能看到,就是不能操作1构造函数创..原创 2021-07-26 09:37:32 · 347 阅读 · 0 评论 -
60.通过QRubberBand批量选中checkbox
效果是这样的这里我们用到了一个QRect的方法如果检测到我们的矩形的size为负数,则会交换起始点与终止点又使用了一个contains方法,前后是两个QRect对象A.contains(B),如果B在A内则返回True,否则返回False同时使用了geometry()A.geometry(),这个会返回该控件的QRect()对象在这里如果不加红框内的判定,获取到的对象会包含QRubberBand本身可以和红框内写的一样,也可以按下面这样写判定是否继承QCh原创 2021-07-26 09:28:21 · 147 阅读 · 0 评论 -
59.QRubberBand
继承QWeight当前鼠标拖动产生的矩形就为这个控件一般配合鼠标事件一起使用第一个参数为形状,第二个参数为父对象形状参数可以填入两个值Line 0 线形状 Rectangle 1 矩形形状我们可以这样用,创建一个矩形选中框由于默认情况下该控件是隐藏的,我们需要将其置为可显示状态...原创 2021-07-26 09:26:33 · 185 阅读 · 0 评论 -
57.QDial
继承QAbstractSlider目录1构造函数2刻度2.1显示刻度2.1.1设置 setNotchesVisible()2.1.2获取 notchesVisible()2.2大刻度间隔 setPageStep()2.3刻度包裹整个控件2.3.1设置 setWrapping()2.3.2获取 wrapping()2.4控制刻度密度2.4.1获取 notchTarge()2.4.2设置 setNotchTarg...原创 2021-07-23 17:59:43 · 365 阅读 · 3 评论 -
56.QScrollBar
继承QAbstractSlider目录1构造函数2调整滑块的大小3界面中有两个滚动条按调整步长按键没有相应问题1构造函数可以直接给一个父对象创建也可以额外给一个滚动条的方向它默认是竖直方向的,我们现在搞一个水平方向的我们可以通过resize和move,让他显得更正常一点默认情况下滚动条最大值是99,最小值是02调整滑块的大小滑块的大小是和页步长有关的,我们调整页步长就可以改变滑块大小现在是它默认的样子...原创 2021-07-23 17:55:21 · 699 阅读 · 0 评论 -
54.QSlider
继承QAbstractSlider所有信号均继承父类信号,无独有信号目录1刻度线1.1设置刻度线位置 setTickPosition()1.1.1当QSlider为竖直状态时1.1.2当QSlider为水平状态时1.2获取刻度线位置 tickPosition()1.3设置刻度线的值 setTickInterval(int)1.4获取刻度线每隔多少放一个 tickInterval()1刻度线1.1设置刻度线位置 setTickPo...原创 2021-07-23 17:50:19 · 328 阅读 · 0 评论 -
53.一个滑块和一个可以显示滑块数值的标签
效果是这样的原创 2021-07-23 17:45:59 · 208 阅读 · 0 评论 -
52.QAbstractSlider
音量调节就是用滑块做的有三个子控件QSliderQScrollBarQDial继承QWidget由于直接使用QAbstractSlider创建显示不出来任何东西,所以我们用它的子类QSlider展示其功能目录1创建2数值范围2.1获取最大值 maximum() --> int2.2设置最大值 setMaximum(int)2.3获取最小值 minimum() --> int2.4设置最小值 setMini...原创 2021-07-23 17:43:12 · 629 阅读 · 0 评论 -
51.QFontComboBox
继承 QComboBox目录1创建2设置和获取当前字体2.1设置当前字体 setCurrentFont(QFont)2.2获取当前字体 currentFont()3设置和获取过滤器3.1设置过滤器 setFontFilters()3.2获取过滤器 fontFilters()4字体改变信号 currentFontChanged 可以传递当前的字体对象1创建文本框可编辑,下拉菜单中含有字体2设置和获取当前字体...原创 2021-07-23 15:31:31 · 354 阅读 · 0 评论 -
50.两个城市数据的组合框(使用QComboBox完成)
最终的效果是这样的原创 2021-07-23 15:26:53 · 141 阅读 · 0 评论 -
49.QComboBox
是一个组合控件是一个文本框带一个下拉选择框继承QWeight长这样1构造函数此时创建了一个空的QComboBox点击下按钮不会出现下拉菜单2数据操作以下使用的userData并非显示在界面中的数据,而是可以传递的数据,可以为任何变量类型当然也可以不加userData,不加userData默认userData为None2.1添加条目项2.1.1添加纯字符条目 additem(str,userData)运行结果点击下拉菜...原创 2021-07-23 09:45:13 · 1685 阅读 · 0 评论