Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >pyqt5之简单窗口的创建

pyqt5之简单窗口的创建

作者头像
py3study
发布于 2020-01-19 02:02:35
发布于 2020-01-19 02:02:35
1.8K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:http://effbot.org/tkinterbook/tkinter-index.htm),
因此学习pyqt5,之前用tkinter写了一个简单的python入门教程的exe,基本都是面向过程的编程思想,
很少将函数式编程思想和面向对象的思想,在学习pyqt5的过程中,希望培养面向对象编程的思想!
关于pyqt5的学习主要参考下面的教程,部分知识及代码相当于是对PyQt5 tutorial的总结!
  http://zetcode.com/gui/pyqt5/introduction/.pyqt5各个模块功能
QtCore  模块包含了非GUI的功能设计。
        这个模块被用来实现时间,文件和目录,不同数据类型,流,URL,mime类型,线程和进程。
QtGui   模块包含的类用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本。
QtWidgets 模块包含的类提供了一套UI元素来创建经典桌面风格用户界面。
QtMultimedia 模块包含的类用于处理多媒体内容和链接摄像头和无线电功能的API。
QtBluetooth 模块包含的类用于扫描蓝牙设备,并且和他们建立连接互动。
QtNetwork 模块包含的类用于网络编程,这些类使TCP/IPUDP客户端/服务端编程更加容易和轻便。
QtPositioning 模块包含的类用于多种可获得资源的位置限定,包含卫星定位,Wi-Fi,或一个文本文件。
Enginio 模块用于解决客户端访问Qt云服务托管。
QtWebSockets 模块包含的类用于解决WebSocket通信协议。
QtWebKit 包含的关于浏览器的类用于解决基于WebKit2的支持库。
QtWebKitWidgets 模块包含的关于WebKit1的类基本解决浏览器使用基于QtWidgets应用问题。
QtXml   模块包含的类用于解析XML文件。这个模块提供SAXDOM API解决方法。
QtSvg   模块提供类用于显示SVG文件内容。Scalable Vector Graphics (SVG) 是一种语言,
        用XML来描述二维图形和图形应用程序。
QtSql模块提供类驱动数据库工作。
QtTest  模块包含了方法提供PyQt5应用的单元测试

二. PyQT4 and Pyqt5 fifferences
    不兼容pyqt4, 模块被改写,新模块的引入

三.简单窗口的建立
    没有父类的组件是顶级窗口。
    见例子

四.关闭窗口
    QPushButton(string text, QWidget parent = None)
    text参数是将显示在按钮中的内容。parent参数是一个用来放置我们按钮的组件

    qbtn.clicked.connect(QCoreApplication.instance().quit)
    在PyQt5中,事件处理系统由信号&槽机制建立。如果我们点击了按钮,信号clicked被发送。
    槽可以是Qt内置的槽或Python 的一个方法调用。QCoreApplication类包含了主事件循环;
    它处理和转发所有事件。instance()方法给我们返回一个实例化对象。
    注意QCoreAppli类由QApplication创建。点击信号连接到quit()方法,将结束应用。
    事件通信在两个对象之间进行:发送者和接受者。发送者是按钮,接受者是应用对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1 import sys
  2 from PyQt5.QtWidgets import (QWidget, QToolTip,
  3     QPushButton, QApplication)
  4 from PyQt5.QtGui import QIcon
  5 from PyQt5.QtGui import QFont
  6 from PyQt5.QtCore import QCoreApplication
  7 
  8 # ----------------------------------------------#
  9 # 简单pyqt5
 10 # ----------------------------------------------#
 11 
 12 
 13 def create_ui():
 14     app = QApplication(sys.argv)    # 所有pyqt5必须创建一个QApplication对象
 15 
 16     w = QWidget()   # 没有父类的widget将被作为窗口使用
 17     w.resize(250, 150)  # 大小
 18     w.move(300, 300)    # 起始坐标
 19     w.setWindowTitle('GUI')  # 标题
 20     w.show()
 21     # 应用进入主循环。在这个地方,事件处理开始执行。
 22     # 主循环用于接收来自窗口触发的事件,并且转发他们到widget应用上处理。
 23     # 如果我们调用exit()方法或主widget组件被销毁,主循环将退出。
 24     # sys.exit()方法确保一个不留垃圾的退出。
 25     # 系统环境将会被通知应用是怎样被结束的
 26     sys.exit(app.exec_())
 27 
 28 
 29 # ----------------------------------------------#
 30 # pyqt5修改显示图标
 31 # ----------------------------------------------#
 32 class Example1(QWidget):
 33 
 34     def __init__(self):
 35         super().__init__()
 36         # super()方法返回了父类对象并调用了父类的构造方法
 37         self.__init_ui()
 38 
 39     def __init_ui(self):
 40 
 41         self.setGeometry(300, 300, 300, 220)
 42         self.setWindowTitle('GUI')
 43         self.setWindowIcon(QIcon('f.ico'))
 44 
 45         self.show()
 46 
 47 # ----------------------------------------------#
 48 # pyqt5显示提示框
 49 # ----------------------------------------------#
 50 
 51 
 52 class Example2(QWidget):
 53 
 54     def __init__(self):
 55         super().__init__()
 56         self.__init_ui()
 57 
 58     def __init_ui(self):
 59 
 60         # 设置提示框的字体和大小
 61         QToolTip.setFont(QFont('SansSerif', 20))
 62 
 63         # 用于显示组件的提示框
 64         self.setToolTip('This is a <b>QWidget</b> widget')
 65 
 66         # 创建一个按键
 67         btn = QPushButton('Button', self)
 68 
 69         # 为按键创建提示框
 70         btn.setToolTip('This is a <b>QPushButton</b> widget')
 71 
 72         # setHint()方法给了按钮一个推荐的大小
 73         btn.resize(btn.sizeHint())
 74         btn.move(50, 50)
 75 
 76         self.setGeometry(300, 300, 300, 200)
 77         self.setWindowTitle('Tooltips')
 78         self.show()
 79 
 80 # ----------------------------------------------#
 81 # 关闭窗口
 82 # ----------------------------------------------#
 83 
 84 
 85 class Example3(QWidget):
 86 
 87     def __init__(self):
 88         super().__init__()
 89 
 90         self.__init_ui()
 91 
 92     def __init_ui(self):
 93         btn = QPushButton('Quit', self)
 94         btn.clicked.connect(QCoreApplication.instance().quit)
 95         btn.resize(btn.sizeHint())
 96         btn.move(50, 50)
 97 
 98         self.setGeometry(300, 300, 250, 150)
 99         self.setWindowTitle('Quit button')
100         self.show()
101 
102 # 测试简单的创建ui
103 
104 
105 # create_ui()
106 
107 app = QApplication(sys.argv)
108 
109 # pyqt5修改显示图标
110 # ex = Example1()
111 
112 # pyqt5显示提示框
113 # ex1 = Example2()
114 
115 # pyqt5退出命令,理解信号与槽
116 ex2 = Example3()
117 sys.exit(app.exec_())
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PyQt6点击按钮弹窗小程序分享
学了一段时间的PyQt6,写了一个初见雏形的小程序,点击按钮,随即进行弹窗,显示内容,可以用来简单的送祝福或者整蛊朋友。同样以此为基础做一个抽奖小程序也是可以的
云帆沧海
2024/01/18
5460
PyQT5基本功能
TomatoCool
2023/07/30
2680
PyQT5基本功能
Python高级进阶#006 pyqt5类封装
知识回顾 1.掌握纯代码写pyqt5程序 2.显示提示框tooltip功能 ---- 本节知识视频教程 以下开始文字讲解: 一、代码封装思路 1.分析哪些代码需要封装:需要封装的就是我们对窗体配置的代码 2.利用类的继承特性 3.调用父类Qwidget的构造方法super().__init__() 4.不要忘记调用自己本身自定义的方法初始化UI 二、GUI位置大小函数 GUI位置大小函数使用setGeometry 作用:这个函数相当于resize函数和move函数功能的合体。 函数使用格式: 控件对象.s
刘金玉编程
2019/10/15
9650
PyQt 创建自定义QWidget
QApplication是一个单例,在QWidget中可以通过QApplication.instance()获取到对象
AnRFDev
2021/02/01
1.8K0
PyQt5美化你的GUI界面
目录 1 圆点选择选项设置 2 选项按钮设置 3 关闭弹窗设置 4 关闭程序弹窗 5 设置关闭按钮 6 设置背景 7 下拉列表框设置 8 等待时显示进度条 ---- 1 圆点选择选项设置 效果展示 代码参考 #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt5 import QtWidgets, QtCore from PyQt5.QtWidgets import * class qt_view(QWidget): def
荣仔_最靓的仔
2021/09/07
3.8K0
PyQt5案例汇总(完整版)
PyQt5是一套绑定Qt5的应用程序框架。他在Python 2.x和3.x中都是可用的。该教程使用的是Python3.x。
victorfengming
2021/11/26
5K0
PyQt5案例汇总(简洁版)
### 01菜单栏 ```python import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self):
victorfengming
2021/11/26
2K0
『开发技巧』PyQt5入门教程
PyQt5是一套来自Digia的Qt5应用框架和Python的粘合剂。支持Python2.x和Python3.x版本。本教程使用Pyhton 3。Qt库是最强大的GUI支持库的一种。PyQt5的官方主页是www.riverbankcomputing.co.uk/news。是Riverbank Computing开发了PyQt5。
小宋是呢
2019/06/27
4.3K0
『开发技巧』PyQt5入门教程
python 使用PyQt5
三:将上述方法总结一下实现了一个简单的功能,如下: 功能为:在输入框中输入值过后,点击按钮就会打印出你输入的值,关闭窗口会有提示
全栈程序员站长
2022/06/30
7280
python 使用PyQt5
Python高级进阶#007 pyqt5消息盒子QMessageBox
带有图标的消息盒子,图标可以是问号question,信息information,警告warning
刘金玉编程
2019/10/17
1.8K0
Python3 :PyCharm + Qt designer 学习 + 实例[通俗易懂]
Qt designer 可视化拖动生成界面,然后利用pycharm 进行转换 .py 文件,再编写槽函数,实现进一步的功能,不要说太方便了。
全栈程序员站长
2022/11/16
2.7K0
Python3 :PyCharm + Qt designer 学习 + 实例[通俗易懂]
PyQt5 入门
我的路径是:D:\ProgramData\Anaconda3\envs\cv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
Michael阿明
2022/05/10
1.5K0
PyQt5 入门
Python 使用PyQt生成图形界面
1.安装PyQT5 以及QT Designer工具包,这里使用清华大学的源,安装快一些。
微软技术分享
2022/12/28
7270
Python 使用PyQt生成图形界面
First PyQt
上面的代码实例会在屏幕上显示一个小的窗口。 在这里,我们进行了一些必要的模块导入,最基础的widget组件位于PyQt5.QtWidget模块中
小飞侠xp
2018/12/24
1.7K0
First PyQt
PyQt5-如何设置应用和窗口的图标?控件的提示信息如何设置?
虫无涯
2023/11/07
2K0
Python GUI教程三:布局
摘要:这篇文章是Python GUI教程系列的第三篇,将介绍Qt编程中的布局概念及其在Python环境下的实现
py3study
2020/01/08
1.2K0
PyQt5的主窗口QMainWindow简介
看过上一篇我们知道,在PyQt5中了,所有的控件都是继承自。在桌面应用当中,我们常用的软件都会包含一个主窗口。主窗口就是承载所有控件的一个窗体。在PyQt5当中常用的主窗体有两种QMainWindow和QDialog。当然这两个也是继承自QWidget类。因为他们都继承自这个类,所以这三个类都是可以用来创建主窗口的,可以直接使用,也可以继承后再使用。
星星在线
2019/05/28
4K0
PyQt4 - 关闭最小化问题
在这个部分,我们开始学习一些PyQt4的基本功能,解释会比较详细,就像教孩子说话一样。 最简单的example     下面的示例会非常的简单,仅仅显示一个小窗口,但是将来我们可以通过这个小窗口做很多事情。我们可以对它进行缩放,最大化,最小化。而这些就需要比较多的代码了。但是开发人员已经帮我们完成了这些功能,因为这些功能在大多场合都会使用到,所以没有必要让我们重复。PyQt是一个高级别的工具库,如果使用级别相对较低的库开发下面的功能,就非常可能需要更多的代码了。
bear_fish
2018/09/20
1.4K0
PyQt4 - 关闭最小化问题
PyQt5 基本窗口控件(状态栏/窗口/图标/提示消息/QLabel/文本类控件)
文章目录 1. 状态栏 2. 窗口居中显示 3. 关闭窗口 4. QWidget 5. 添加图标 6. 气泡提示信息 7. QLabel 添加快捷键 8. QLineEdit echoMode 验证器 inputMask 综合练习 9. QTextEdit learn from 《PyQt5 快速开发与实战》 1. 状态栏 self.statusbar.showMessage("hello, Michael", 2000),第二个参数是显示多长时间ms,默认无限长时间 # -*- coding: utf-8
Michael阿明
2022/05/10
2.5K0
PyQt5 基本窗口控件(状态栏/窗口/图标/提示消息/QLabel/文本类控件)
PYQT中的菜单和工具栏
在这部分的PyQt5教程中,我们将创建菜单和工具栏。菜单式位于菜单栏的一组命令操作。工具栏是应用窗体中由按钮和一些常规命令操作组成的组件。
小飞侠xp
2018/12/24
2.6K0
PYQT中的菜单和工具栏
相关推荐
PyQt6点击按钮弹窗小程序分享
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文