Python QT GUI设计
文章平均质量分 83
Python QT GUI设计
weixin_44079197
这个作者很懒,什么都没留下…
展开
-
Python Qt GUI设计简介、环境下载和安装(基础篇—1)
Qt主要用于桌面程序开发和嵌入式开发,经过 20 多年的发展,Qt已经成为最优秀的跨平台开发框架之一,在各行各业的项目开发中得到广泛应用。原创 2023-06-29 20:18:59 · 1170 阅读 · 0 评论 -
Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
本篇博文讲讲 Qt Creator 使用方法,分享三种将UI界面文件编译为Python文件的方法。原创 2023-06-29 20:44:49 · 6035 阅读 · 2 评论 -
Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)
Python调用UI文件有两种方法:第一种将UI文件转换为Python文件,进行调用,第二种动态加载UI界面。原创 2023-07-02 23:17:25 · 865 阅读 · 1 评论 -
Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)
Qt Designer中有很多UI界面组件,每种组件相对应有可设置的属性,本篇博文来让我们简单了解一下吧~原创 2023-07-02 23:23:12 · 2987 阅读 · 1 评论 -
Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)
Qt Designer提供4种窗口布局方式,分别如下:Vertical Layout(垂直布局),控件默认按照从上到下的顺序进行纵向添加;Horizontal Layout(水平布局),控件默认按照从左到右的顺序进行横向添加;Grid Layout(栅格布局),将窗口控件放入一个网格之中,然后将它们合理地划分成若干行(row)和列(column),并把其中的每个窗口控件放置在合适的单元(...原创 2021-11-11 18:46:52 · 89 阅读 · 0 评论 -
Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)
在Python Qt GUI设计:窗口布局管理方法【基础篇】(基础篇—5)文章中,聊到了如何使用Qt Designer进行窗口布局管理,其实在Qt Designer中可以非常方便进行窗口布局管理设计,本篇博文在4种窗口布局方式基础上继续深入聊聊API函数\~在PyQt 5中有四种布局方式:水平布局、垂直布局、网格布局、表单布局,以及两种布局方法,即 addLayout()和addWidget(...原创 2021-11-13 00:03:08 · 74 阅读 · 0 评论 -
Python Qt GUI设计:信号与槽的使用方法(基础篇—7)
1、信号与槽的概念信号(signal)和槽(slot)是Qt的核心机制,也是在PyQt编程中对象之间进行通信的机制。在创建事件循环之后,通过建立信号和槽的连接就可以实现对象之间的通信。当信号发射(emit)时,连接的槽函数将会自动执行。信号(signal)是在特定情况下被发射(emit)的一种通告。GUI程序设计的主要内容就是对界面上各组件发射的特定信号进行响应,只需要知道什么情况下发射了...原创 2021-11-15 18:32:21 · 116 阅读 · 0 评论 -
Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)
一般情况下,应用程序都是单线程运行的,但是对于GUI程序来说,单线程有时候满足不了需求。例如,如果需要执行一个特别耗时的操作,在执行过程中整个程序就会卡顿,效果就非常不理想或者Windows系统也认为程序运行出错,自动关闭了程序。要解决这种问题就涉及多线程的知识。一般来说,多线程技术涉及三种方法,其中第一种是使用计时器模块QTimer;第二种是使用多线程模块QThread;最后是使用事件处理的...原创 2021-11-16 18:48:17 · 57 阅读 · 0 评论 -
Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)
有时候在项目开发时,经常会遇到一些耗时操作导致界面迟缓卡顿,为了解决这个问题,可以创建多线程,使用主线程更新界面使用子线程实时处理数据,最后将结果显示到界面上。PyQt多线程将使用QThread函数,QThread是Qt的线程类中最核心的底层类。由于PyQt的的跨平台特性,QThread要隐藏所有与平台相关的代码要使用的QThread开始一个线程,可以创建它的一个子类,然后覆盖其它QThrea...原创 2021-11-17 18:59:34 · 56 阅读 · 0 评论 -
Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
QMainWindow、QWidget和QDialog三个类都是用来创建窗口的,可以直接使用,也可以继承后再使用,在Qt Designer创建UI文件可以选择这三种窗口类型。如果是主窗口,就使用QMainWindow类,如果是对话框,就使用QDialog类,如果不确定,或者有可能作为顶层窗口,也有可能嵌入到其他窗口中,那么就使用QWidget类。让我们看看具体区别吧\~1、QM...原创 2021-11-18 21:05:12 · 120 阅读 · 0 评论 -
Python Qt GUI设计:QLabel标签类(基础篇—11)
QLabel对象作为一个占位符可以显示不可编辑的文本或图片,也可以放置一个GIF动画,还可以被用作提示标记为其他控件,纯文本、链接或富文本可以显示在标签上。QLabel类中的常用方法如下表所示:QLabel类中的常用信号如下表所示:通过以下案例加强对QLabel类使用方法的理解吧,效果如下所示:在这个例子中,QLabel对象label1和label3可以显示文字和图片,...原创 2021-11-19 23:10:04 · 51 阅读 · 0 评论 -
Python Qt GUI设计:QPushButton、QRadioButton和QCheckBox按钮类(基础篇—12)
在GUI设计中,按钮都是最重要的和常用的触发动作请求的方式,用来与用户进行交互操作。在PyQt中根据不同的使用场景将按钮划分为不同的表现形式。按钮的基类是QAbstractButton,提供了按钮的通用性功能。但是它不能实例化,必须由其他的按钮类继承QAbstractButton类,来实现不同的功能、不同的表现形式。常见的按钮类包括:QPushButton、QRadioButton和QCh...原创 2021-11-21 22:40:08 · 82 阅读 · 0 评论 -
Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)
QLineEdit和QTextEdit都是文本框类,QLineEdit类是单行文本框控件,可以输入单行字符串。QTextEdit类是多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条。QTextEdit不仅可以显示文本还可以显示HTML文档。来看看两者的使用方法和区别吧\~1、QLineEdit文本框类QLineEdit类中的常用方法如下表所示...原创 2021-11-22 18:30:11 · 94 阅读 · 0 评论 -
Python Qt GUI设计:QComboBox下拉列表框类(基础篇—14)
QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。QComboBox类中的常用方法如下表所示:QComboBox类中的常用信号如下表所示:来看看QComboBox按钮类的示例,效果如下所示:在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有5个选项,既可以使用QComboBox的addltem()方法添加单个选项,也可以使用addl...原创 2021-11-23 18:51:13 · 73 阅读 · 0 评论 -
Python Qt GUI设计:QSpinBox计数器类(基础篇—15)
QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox的取值范围是0~99,每次改变的步长值为1。QSpinBox类和QDoubleSpinBox类均派生自QAbstractSpinBox类。QSpinBox用于处理整数值,QDoubleSpinBox则用于处理浮点...原创 2021-11-24 18:56:38 · 35 阅读 · 0 评论 -
Python Qt GUI设计:QSlider滑动条类(基础篇—16)
QSlider控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。有时候这种方式比输入数字或者使用SpinBox(计数器)更加自然,只需要在槽函数中对滑块所在位置的处理相当于从整数之间的最小值和最高值进行取值。QSlider类中的常用方法如下表所示:QSlider类中...原创 2021-11-25 18:31:46 · 45 阅读 · 0 评论 -
Python Qt GUI设计:QPainter、QPen、QBrush和QPixmap窗口绘图类(基础篇—17)
本篇博文主要介绍如何实现在窗口中绘图,在 PyQt5中,一般可以通过QPainter、QPen、QBrush和QPixmap这四个类来实现绘图功能。其中,QPixmap的作用是加载并呈现本地图像,而图像的呈现本质上也是通过绘图方式实现的。1、QPainter绘图类QPainter类在QWidget(控件)上执行绘图操作,它是一个绘制工具,为大部分图形界面提供了高度优化的函数,使QPaint...原创 2021-11-26 23:43:18 · 97 阅读 · 0 评论 -
Python Qt GUI设计:QDrag拖拽数据传输类(基础篇—18)
为用户提供的拖曳功能很直观,在很多桌面应用程序中,复制或移动对象都可以通过拖曳来完成。基于MIME类型的拖曳数据传输是基于QDrag类的。QMimeData对象将关联的数据与其对应的MIME类型相关联。 MIME(Multipurpose Internet Mail Extension,多用途互联网邮件扩展类型)是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问...原创 2021-11-28 21:41:31 · 48 阅读 · 0 评论 -
Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)
1、QCalendar日历类QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。也可以对日历的日期范围进行规定。Qt Company中日历组件效果QCalendar类中的常用方法如下表所示:通个示例了解QCalendar日历类,示例效果如下所示:示例中有日历控件和标签控件,当前选定的日期显示在标签控...原创 2021-12-01 18:56:49 · 54 阅读 · 0 评论 -
Python Qt GUI设计:QPrinter打印图片类(基础篇—21)
打印图像是图像处理软件中的一个常用功能,打印图像实际上是在QPaintDevice中画图,与平常在QWidget、QPixmap和Qlmage中画图一样,都是创建一个QPainter对象进行画图的,只是打印使用的是QPrinter,它本质上也是一个QPaintDevice(绘图设备)。通过一个示例了解QPrinter打印图片类的使用,效果如下所示:实现代码如下所示:```pytho...原创 2021-12-03 21:55:07 · 66 阅读 · 0 评论 -
Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)
在一个布局容器中,有时可能需要调整各组件的显示比例,让界面达到更美观效果。调整组件布局比例有两种办法:第一种是通过Qt Designer调整,另一种是使用addStretch()函数代码调整。下面让我们来看看吧\~1、Qt Designer调整组件布局比例在Qt Designer中放置Frame容器,容器中添加3个按钮组件,并进行水平布局设置。此时可以在layoutStr...原创 2021-12-08 18:44:46 · 102 阅读 · 0 评论 -
Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)
在使用Qt Creator创建UI文件时,MainWindow主窗口,主要包含:菜单栏、工具栏、状态栏等。#1、菜单栏1.1、Qt Creator创建菜单栏双击菜单栏上的“在这里输入”,输入文字,最后按回车键即可生成菜单。例如,建立:文件、编辑两个一级菜单栏目,如下所示:可以在一级目录下建二级目录,在文件栏目下建立打开栏目,如下所示:在Qt Desig...原创 2021-12-09 19:21:55 · 119 阅读 · 0 评论 -
Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
一个典型的GUI应用程序可能有多个窗口,选项卡控件和堆栈窗口控件允许一次使用其中的一个窗口。然而,很多时候这种方法不是很有用,因为其他窗口的视图是隐藏的一种同时显示多个窗口的方法是,创建多个独立的窗口,这些独立的窗口被称为SDI(Single Document Interface,单文档界面),每个窗口都可以有自己的菜单系统、工具栏等。这需要占用较多的内存资源。MDI (Multiple Do...原创 2021-12-14 19:37:31 · 68 阅读 · 0 评论 -
Python Qt GUI设计:QScrollBar类实现窗口水平或垂直滑动条效果(拓展篇—4)
使用QScrollBar可以在窗口控件提供了水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件。QScrollBar类中的常用信号如下表所示:通过示例,了解QScrollBar类多文档界面的使用方法,效果如下所示:在这个例子中,设置了三个滑动条来控制标签中所显示文字的字体颜色的RGB值,当移动滑块时,将sliderMoved信号与槽函数sliderva...原创 2021-12-14 19:37:51 · 61 阅读 · 0 评论 -
Python Qt GUI设计:窗口之间数据传递(拓展篇—5)
在开发程序时,如果这个程序只有一个窗口,则应该关心这个窗口里面的各个控件之间是如何传递数据的。如果这个程序有多个窗口,那么还应该关心不同的窗口之间是如何传递数据的。本篇博文首先给出一个例子,说明在一个窗口中不同控件之间的数据是如何传递的。对于多窗口的情况,一般有两种解决方法:一种是主窗口获取子窗口中控件的属性,另一种是通过信号与槽机制,一般是子窗口通过发射信号的形式传递数据,主窗口的槽函数获取...原创 2021-12-14 19:38:25 · 73 阅读 · 0 评论 -
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)...
表格与树解决的问题是如何在一个控件中有规律地呈现更多的数据。PyQt提供了两种控件类用于解决该问题,其中一种是表格结构的控件类,另一种是树形结构的控件类。1、QTableView类在通常情况下,一个应用需要和一批数据(比如数组、列表)进行交互,然后以表格的形式输出这些信息,这时就要用到QTableView类了。在QtableView中可以使用自定义的数据模型来显示内容,通过setModel...原创 2021-12-04 22:30:34 · 161 阅读 · 0 评论 -
Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)
有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观。本篇博文就来解决这个问题,即如何在现有的窗口空间中装载更多的控件。1、QTabWidget容器控件类QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面。通过单击各选项卡可以查看对应的页面。如果在一个窗口中显示的输入字段很多,则可以对这些字段进行...原创 2021-12-06 18:51:33 · 52 阅读 · 0 评论 -
Python Qt GUI设计:5种事件处理机制(提升篇—3)
之前在Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)中,我们已经简单讲到,PyQt为事件处理提供了两种机制:高级的信号与槽机制以及低级的事件处理程序,本篇博文将系统讲解Qt的事件处理机类和制。事件处理机制本身很复杂,是PyQt底层的知识点,当采用信号与槽机制处理不了时,才会考虑使用事件处理机制。信号与槽可以说是对事件处理机制的高级封装...原创 2021-12-06 18:52:04 · 43 阅读 · 0 评论