1.2 在 PyCharm 中安装 PyQt5 打开 PyCharm: 打开你的 PyCharm 编辑器,确保你已经有一个项目或新建一个项目。...检查安装是否成功: 你可以通过在终端中运行 pip list 查看是否安装了 PyQt5。...在 PyQt5 中,sys.exit() 用来确保应用程序关闭时退出干净,不留任何后台进程。...这部分在之后还会有更加详细的介绍 第3部分:常用控件详解 在 PyQt5 中,常用的控件(也称为小部件)有很多,它们可以用来实现用户界面中的各种元素,比如按钮、文本框、复选框等。...button.clicked.connect(self.button_clicked):连接按钮的点击信号到自定义的 button_clicked 方法。当按钮被点击时,这个方法会被触发。
QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。...QComboBox类中的常用方法如下表所示: QComboBox类中的常用信号如下表所示: 来看看QComboBox按钮类的示例,效果如下所示: 在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有...当下拉列表框中的选项发生改变时将发射currentIndexChanged信号,连接到自定义的槽函数selectionchange()。...在方法中,当选中下拉列表框中的一个选项时,将把该选项的文本设置为标签的文本并调整标签的大小。...实现代码如下所示: import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import
---- 信号: selectionChanged : 只要选择改变了,这个信号就会被发射 textChanged : 当修改文本内容时,这个信号会被发射 editingFinished : 当编辑文本结束时...在默认情况下,一个换行符表示一个段落,文档可以一个或者多个段落组成,且段落中的每个字符都可以有其自己的属性,例如有自己的字体和颜色 常用方法: toPlainText() :获取文本内容 insertPlainText...value() :返回计数器的当前值 信号: editingFinish :当编辑框按下回车后触发 valueChanged :发生改变时,发射该信号 import sys from PyQt5.QtWidgets...常用方法: value(): 获得滚动条的值 信号: valueChanged: 当滑块的值发生改变时发射此信号,最常用的!!...常用方法: value(): 获得滑动条的值 信号: valueChanged: 当滑块的值发生改变时发射此信号,最常用的!!
combo1=QComboBox(myframe1) 在实例化的时候,要选择父容器 combo1.move(20,0) 我们通过addItem来往combobox中装入项目。...2.下拉选择事件 Combobox的点击事件 理解为激活actived信号。 信号有两种传递方式: 第一种:传递字符串,这个实则传递的是选择的文本。...配置setEditable 为True: combo1.setEditable(True) 对应的信号为: editTextChanged 那么我们同样可以采用信号槽的方式实现编辑时候的事件处理函数。...得出的经验特点: 我们在书写信号的时候,这些信号基本上都是以ed进行结尾的。 四、总结强调 1.掌握qcombobox的载入布局与项目加载。 2.掌握下拉列表的编辑和对应事件。 3.掌握联动的思想。...本节知识源代码: import sys from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QComboBox,QFrame class MyClass
知识回顾 1.掌握了Qcombobox下拉框,载入、配置(可编辑、不可编辑) 2.掌握联动的思想(省与市的连动),主要用到actived信号 本节知识视频教程 以下开始文字讲解: 一、案例目标 案例:....QtGui import QFont 2.对字体进行实例化,以及将实例化对象载入使用 lbl.setFont(QFont("华文行楷",20)) 日期类型的载入 从PyQt5的核心库中载入日期类Qdate...from PyQt5.QtCore import Qdate 默认的有实例的日期显示格式 PyQt5.QtCore.QDate(2019, 10, 29) 三、相关技巧 对日期进行格式化的技巧 问题是在我们的槽方法中无法对日期进行代码提示...实现的时候,我们有两种方法: 方法一:使用y表示年的一位,M表示月,d表示日 mydate.toString("yyyy年MM月dd日") 方法二:使用系统中的已经定义好的方式 这种方式,实际上是利用系统中已有的枚举类的方法来实现的...2.掌握日历控件的信号控制。 3.掌握日期格式化的几种方法。
PyQT模块 QtCore模块 涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData、线程或进程等对象。...QtWidgets模块 包含了一整套UI元素控件,用于建立符合系统风格的Classic界面,非常方便,可以在安装时选择是否使用此功能。...PyQT主要类 QObject类 在类层次结构中是顶部类(Top Class),它是所有PyQt对象的基类。 QPaintDevice类 所有可绘制的对象的基类。...QFrame类 有框架的窗口控件的基类。它也被用来直接创建没有任何内容的简单框架,但是通常要用到QHBox或QVBox,因为它们可以自动布置放到框架中的窗口控件。...要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框中 QScrollBar窗口控件 提供了一个水平的或垂直的滚动条 QSlider控件 提供了一个垂直的或水平的滑动条 QComboBox
#无特殊注明,所有案例只修改第一个案例的对应部分 QCheckBox: QCheckBox 组件有俩状态:开和关。...通常跟标签一起使用,用在激活和关闭一些选项的场景 import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5...,调用exit()方法或直接销毁主控件时,主循环就会结束 sys.exit(app.exec_()) 切换按钮: 切换按钮就是QPushButton的一种特殊模式,它只有两种状态:按下和未按下...触发QDate的点击信号,绑定自定义函数 cal.clicked[QDate].connect(self.showDate) # 将日历添加到垂直布局 vbox.addWidget...: QLineEdit组件提供了编辑文本的功能,自带了撤销、重做、剪切、粘贴、拖拽等功能 # 初始化组件 def initUI(self): # 创建标签和编辑器 self.lbl
在上一章学习 25.QT-模型视图 后,本章接着学习视图委托 ---- 视图委托(Delegate)简介 由于模型负责组织数据,而视图负责显示数据,所以当用户想修改显示的数据时,就要通过视图中的委托来完成...在模型视图中,会默认提供一个QStyledItemDelegate类,供用户编辑数据 也可以通过继承QItemDelegate父类,实现自定义委托功能 QAbstractItemDelegate类中的关键虚函数...// hint 参数用来指定当用户完成编辑后,应该显示什么标记,用来提示用户已完成编辑 void commitData ( QWidget * editor ) ; //当完成编辑数据后,发送该信号...成员函数 在editorEvent中处理交互事件,比如判断鼠标是否双击,以及更改模型数据等 其中QApplication::style()->drawControl()函数参数如下所示: QApplication...:State_HasEditFocus //表示该组件是否有编辑焦点 // painter:谁来绘画 // widget = 0:如果该widget为0,则表示使用QT自带的风格
一、Web 网页中的级联选择器 在各类网页中,我们经常可以看到级联选择器。...比如在购物平台填写收获地址的时候,进行省市县的选择; 又比如在一些商品分类中的商品大类、商品子类的选择: 可以说,对于一个正常的Web框架而言,级联选择器都是必不可少的组件。...下面,我们就使用 PyQt5 构建一个省市县的级联选择器。...self.init_ui() # 初始化UI 在Widget初始化的时候,我们调用了两个方法,分别用于初始化数据和初始化UI界面。...100行代码,我们就在 PyQt5 上实现了一个完成的省市县级联选择器。
窗口绘图类 1.1 QPainter 在 QWidget上执行绘图操作 在QWidget.paintEvent() 中完成,绘制方法必须在 QtGui.QPainter对象的 begin() 和 end...fr=aladdin DragEnterEvent,当执行一个拖曳控件操作,并且鼠标指针进入该控件时,这个事件将被触发,在这个事件中可以获得被操作的窗口控件,还可以有条件地接受或拒绝该拖曳操作 DragMoveEvent...,在拖曳操作进行时会触发该事件 DragLeaveEvent,当执行一个拖曳控件操作,并且鼠标指针离开该控件时,这个事件将被触发 DropEvent,当拖曳操作在目标控件上被释放时,这个事件将被触发...clipboard(), 它返回对剪贴板对象的引用 任何类型的MimeData都可以从 剪贴板 复制或粘贴 常用信号:dataChanged 剪贴板内容发生变化时 发射信号 # _*_ coding:...edit = file.addMenu('编辑') # 在文件菜单中创建编辑菜单 edit.addAction('复制') # 在编辑菜单中添加复制菜单
前言 诚如标题所见,我在使用Pyqt5进行开发时,先后遇到了上面几个问题。本篇博客就用来记录遇到问题/解决问题的过程,希望能给遇到相同问题的读者一些参考。...当所有链接获取完之后,进度条开始逐渐更新(每间隔十个数据进行一次进度条更新)。若全部爬取完成(signal_done发送1信号),进度条填满,并弹出提示框。...当调用程序段运行时,qt界面会卡住不动,造成“假死”现象。 因此,要解决这个问题,就要引入多线程。将后台程序放入到一个子线程中运行,同时将数值传递给主线程,在主线程中进行UI的更新。...中配置Pyqrc,配置方法可以参见这篇博客PyCharm中配置与PyQT5相关的External tools 然后,就能在pycharm中快速使用pyqrc进行转换。...在引用贴图的py文件中,引入该文件即可。 import img_rc 再次进行打包,生成的exe即包含图片信息。 开机自启动 exe文件完成了,甲方又给我提了最后一条需求,要求能够设置开机自启动。
:需要合并的列数 setShowGrid() 在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True setColumnWidth(int column,int width...QAbstractItemView.EditKeyPressed8Editing 8 当修改键按下时修改单元格 QAbstractItemView.AnyKeyPressed16Editing 16...) 优化3:将表格设置为禁止编辑 在默认情况下,表格中的字符是可以更改的,比如双击一个单元格,就可以修改原来的内容,如果想禁止这种操作,让表格对用户只是只读,则可以编辑一下代码 TableWidget.setEditTriggers...(0,120) 优化7:在表格中不显示分割线 QTableWidget类的setShowGrid()函数是从QTableView类继承的,用来设置是否显示表格的分割线,默认显示分割线 #表格中不显示分割线...编辑规则的枚举值类型 表格选择行为的枚举值 单元格文本水平对齐方式 单元格文本垂直对齐方式 实例:QTableWidget的基本用法 代码分析 实例二:在表格中快速定位到指定行 实例三:QTableWidget
第一列通常显示描述预期输入的标签,第二列通常包含允许用户输入或编辑数据的输入小部件,例如QLineEdit,QComboBox或QSpinBox。 要将小部件添加到表单布局,请使用.addRow()。...在您的模型中,这是蓝色布局。 在第19行,您创建一个表单布局来保存标签和行编辑。 在第21行,将所需的小部件添加到布局中。这等效于您的绿色布局。 在第23行,您将创建一个垂直布局来容纳复选框。...这是一个示例,展示了如何使用带有组合框的堆叠式布局在页面之间进行切换: import sys from PyQt5.QtWidgets import ( QApplication, QComboBox...在这种情况下,您的应用程序布局中有两个页面。每个页面由一个QWidget对象表示。当您在窗口顶部的组合框中选择一个新页面时,布局将更改以显示所选页面。...使用PyQt的标签小部件 在PyQt中创建多页排列的另一种流行方式是使用称为QTabWidget的类。此类提供标签栏和页面区域。
今天我们继续讨论Python/Qt应用响应用户触发的事件:信号和槽。 当用户执行一个动作——点击按钮,选择组合框的值,在文本框中打字——这个widget就会发出一个信号。...这个信号自己什么都不做,它必须和槽连接起来才行。槽是一个接受信号的执行动作的对象。 连接内建PySide/PyQt信号 Qt widgets有许多的内建信号。...例如,当QPushButton被点击的时候,它发出它的clicked信号。...,它会输出 pressed released clicked pressed信号是按钮被按下时发出,released信号在按钮释放时发出,最后,所有动作完成后,clicked信号被发出。...现在我们知道了如何使用我们创建的槽去连接内建的信号,下一个教程中,我们将学习创建并连接自己的信号。
在 PyQt5 中,你可以使用 matplotlib 来生成图表,并将这些图表嵌入到 PyQt5 的窗口中。...7.2 在 PyQt5 中嵌入 matplotlib 图表 为了在 PyQt5 应用中显示 matplotlib 图表,我们需要使用 matplotlib 的 FigureCanvas。...7.4 在应用程序中展示不同类型的图表 matplotlib 支持多种类型的图表,包括折线图、柱状图、饼图等。接下来我们展示如何在 PyQt5 中展示这些不同类型的图表。...每次选择不同的图表类型时,会触发 currentIndexChanged 信号,调用 update_chart() 方法更新图表。...以上就是关于【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)的内容啦,各位大佬有什么问题欢迎在评论区指正,或者私信也行哦,您的支持是我创作的最大动力!❤️
下一个教程,我们将学习如何使用信号和槽来响应用户的交互。 交互式Widgets Python/Qt有一系列的widgets,可以非常简单的实现与用户交互,并且容易和你的应用逻辑联系。...一个按钮还可以在被点击时弹出一个菜单(menu):传递一个QMenu对象给按钮的setMenu方法。...布局管理(Layout Management) PySide和PyQt有两个可用的方法来管理布局:使用绝对位置,开发者必须明确设置每个widget和位置和大小;使用的布局容器(layout containers...为了完成这个目的,在盒子的开始添加widgets,然后添加一个设置大于0的空闲空间,layout.addStretch(1),然后再添加剩下的widgets。...双参数版本: 1 unicode, QLayout 2 unicode, QWidget 3 QWidget, QWidget 4 QWidget, QLayout 作为一个“标签”在第一列中初始化元素
与QLineEdit相关的一个类是QTextEdit,它允许多行文字以及富文本编辑。...文本改变时会发出 textChanged() 信号;如果不是由setText()造成文本的改变,那么会发出textEdit()信号;鼠标光标改变时会发出cursorPostionChanged()信号;...当返回键或者回车键按下时,会发出returnPressed()信号。...当编辑结束,或者LineEdit失去了焦点,或者当返回/回车键按下时,editFinished()信号将会发出。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
PyQt5是由一系列Python模块组成,有超过620个类,6000个函数和方法,主要模块如下: QtCore:包含了核心的非 GUI 的功能。...show():用来显示窗口 exit(app.exec_()):设置窗口一直运行指导使用关闭按钮进行关闭 PyQt5支持的常见Widgets有: 从上到下,从左到右依次为:Qlabel、QcomboBox...我们需要绑定槽函数,方法如下: 在Qt Designer右下角选择 信号/槽编辑器,点击+号新增 分别选择queryBtn及clearBtn,选择信号 clicked(), 接收者 Dialog 及槽...accept(),(槽函数这里不知道如何定义,后期在代码里再进行修改) 以上完成后保存为Weather.ui文件。...fbs的安装方法: pip install fbs 使用方法,在命令行中输入: fbs startproject 执行完成后需要输入一些APP的名称等。
QtGui基本图形功能的类,如窗口集、事件处理、2D图形、基本的图像和界面、字体和文本类等QtWidgets一整套UI元素控件,用于建立符合系统风格的Classic界面,可在安装时选择是否使用此功能QtMultimedia...使用PyQt扩展Qt DesignerQt将所有模块中的类综合到一个单一的模块中 uic 处理.ui文件2.2 PyQt5主要类PyQt5 API拥有620多个类和6000个函数;以下是主要的类和说明:...用户界面对象的基类QFrame有框架的窗口控件的基类QMainWindow有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口QDialog最普通的顶级窗口 2.3 重要类的继承关系PyQt 5中重要的类及其继承关系...QSlider 垂直的或水平的滑动条QComboBox组合按钮,用于弹出列表QMenuBar横向菜单栏 QStatusBar适合呈现状态信息的水平条,通常放在QMainWindow的底部QToolBar...工具栏,可以包含多个命令按钮,通常放在QMainWindow的顶部 QListView显示和控制可选的多选列表,可以设置ListMode或IconModeQPixmap在绘图设备上显示图像,通常放在QLabel
本篇介绍PyQt5的表格控件QTableWidget。QTableWidget类似于Excel的表,适用于显示结构化的数据。...第0项是禁止用户编辑表格,表格只用来显示可读的数据。...设定可自动排序(点击水平表头时,各行按该列数据自动排序): table.setSortingEnabled (True) #默认为False 设定单元格(QTableWidgetItem实例)的文本...(以C++描述,PyQt中为同名信号): ?...完整的示例代码如下: import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import QColor, QFont, QIcon,QPixmap
领取专属 10元无门槛券
手把手带您无忧上云