返回顶部
首页 > 资讯 > 后端开发 > Python >pyqt5之简单窗口的创建
  • 309
分享到

pyqt5之简单窗口的创建

窗口简单 2023-01-30 22:01:26 309人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:Http://effbot.org/tkinterbook/tkinter-index.htm),因此学习pyQt5,之前用tkinter写了一个

   在学完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/IP和UDP客户端/服务端编程更加容易和轻便。
QtPositioning 模块包含的类用于多种可获得资源的位置限定,包含卫星定位,Wi-Fi,或一个文本文件。
EngiNIO 模块用于解决客户端访问Qt云服务托管。
Qtwebsockets 模块包含的类用于解决WEBSocket通信协议。
QtWebKit 包含的关于浏览器的类用于解决基于WebKit2的支持库。
QtWebKitWidgets 模块包含的关于WebKit1的类基本解决浏览器使用基于QtWidgets应用问题。
QtXml 模块包含的类用于解析XML文件。这个模块提供SAX和DOM 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()方法,将结束应用。
事件通信在两个对象之间进行:发送者和接受者。发送者是按钮,接受者是应用对象


  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_())

 




--结束END--

本文标题: pyqt5之简单窗口的创建

本文链接: https://lsjlt.com/news/180055.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pyqt5之简单窗口的创建
    在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:http://effbot.org/tkinterbook/tkinter-index.htm),因此学习pyqt5,之前用tkinter写了一个...
    99+
    2023-01-30
    窗口 简单
  • PyQt5中怎么创建一个简单的窗口
    在PyQt5中,可以使用QtWidgets模块创建一个简单的窗口。下面是一个创建一个简单窗口的示例代码: import sys fr...
    99+
    2024-03-12
    PyQt5
  • PyQT5之使用QT Designer创建基本窗口方式
    目录环境配置使用QT Designer布局窗体UI文件的编译编译后的.PY源码运行结果总结环境配置 pip install pyqt5 (安装pyQT5库):pyuic5包含在内pi...
    99+
    2023-02-24
    PyQT5 QT Designer QT Designer创建基本窗口 PyQT5 QT Designer窗口
  • 怎么用pygame创建一个简单的窗口
    这篇文章主要介绍“怎么用pygame创建一个简单的窗口”,在日常操作中,相信很多人在怎么用pygame创建一个简单的窗口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用pygame创建一个简单的窗口”的疑...
    99+
    2023-06-02
  • 用python简易编写创建窗口
    一、创建Window窗口 # 创建Window窗口.py import tkinterroot=tkinter.Tk() # 创建Window窗口对象 # 窗口属性 root.geometry('300x200+300+30...
    99+
    2023-08-31
    python 开发语言
  • JavaScript窗口功能指南之创建弹出窗口 (转)
    JavaScript窗口功能指南之创建弹出窗口 (转)[@more@]Javascript窗口功能指南之创建弹出窗口(作者:听风编译 2001年01月19日 11:35)  Inte.NET Explorer 5.5支持一个新的window...
    99+
    2023-06-03
  • PyQT5中怎么使用QT Designer创建基本窗口方式
    这篇文章主要介绍“PyQT5中怎么使用QT Designer创建基本窗口方式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQT5中怎么使用QT Designer创建基本窗口方...
    99+
    2023-07-05
  • pyqt5主窗口按键弹出子窗口的实现
    目标:主窗口保持,通过按键弹出子窗口 步骤一:pyqt5创建主窗口,并设置按键 from PyQt5.QtWidgets import * import sys # 主窗口 cla...
    99+
    2023-02-07
    pyqt5主窗口按键弹出子窗口 pyqt5 弹出窗口
  • python GUI工具之PyQt5模块,pyCharm 配置PyQt5可视化窗口
    https://doc.qt.io/qt-5/qtwidgets-module.html https://doc.qt.io/qt-5/qt.html 一、简介 PyQt是Qt框架的Python语言实...
    99+
    2023-09-29
    qt python 开发语言
  • vs2019中使用MFC构建简单windows窗口程序
    微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,...
    99+
    2024-04-02
  • javascript实现简单滚动窗口
    本文实例为大家分享了javascript实现滚动窗口的具体代码,供大家参考,具体内容如下 一.实现的效果图 二.涉及到的知识点 window.open();方法用于打开一个新的浏览...
    99+
    2024-04-02
  • JavaScript窗口功能指南之创建对话框 (转)
    JavaScript窗口功能指南之创建对话框 (转)[@more@]Javascript窗口功能指南之创建对话框(作者:听风编译 2001年01月19日 11:35)  Javascript支持几种内建的对话框:window.alert()...
    99+
    2023-06-03
  • Java Swing 简单的登录注册窗口
    前言 最近在学习Java Swing 写了一个简单的登录注册窗口, 该项目包含了对JFrame的创建,和一些组件的练习并且加入了简单的事件监听和简单的用户名密码判断。 登录和注册的页面只画出来了没有进行其他的组件添加 介绍 1,Swing是...
    99+
    2023-12-25
    java intellij-idea
  • DOS窗口命令和单表简单查询
    目录相关术语:一.DOS窗口命令二.单表简单查询相关术语: DB :数据库:在硬盘上以文件的方式存在DBMS:数据库管理系统:例如mysql,oracle,sqlserver&hel...
    99+
    2022-11-13
    DOS窗口命令 DOS单表查询
  • PyQT5 QTDesigner窗口及组成的实现
    一、主窗口成员 主窗口中的菜单栏、工具栏和状态栏 1.菜单栏 我们可以直接在QTDesigner中输入菜单选项即可。这些菜单选项本质上都是动作,关于动作,在下面章节进行描述。 2...
    99+
    2024-04-02
  • js实现简单广告小窗口
    本文实例为大家分享了js实现简单广告小窗口的具体代码,供大家参考,具体内容如下 一、目标  利用js实现简易的无法关掉的广告小窗口功能 二、实现步骤 1.设置小窗口样式; ...
    99+
    2024-04-02
  • 利用shell创建文本菜单与窗口部件的方法
    前言 创建交互式shell脚本最常用的方法是使用菜单。提供各种选项可以帮助脚本用户了解脚本能做什么,不能做什么;通常菜单脚本会清空显示区域,然后显示可用的选项列表。本文给大家详细介绍了shell创建文本菜单...
    99+
    2022-06-04
    部件 菜单 文本
  • 如何使用shell创建文本菜单与窗口部件
    这篇文章主要介绍了如何使用shell创建文本菜单与窗口部件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建文本菜单创建交互式shell脚本最常用的方法是使用菜单,它提供了各...
    99+
    2023-06-09
  • Python创建简单的HTTP服务
    python2中:  python -m SimpleHTTPServer 80  # 默认端口是8000,目录是当前目录  如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实...
    99+
    2023-01-31
    简单 Python HTTP
  • 如何创建一个纯winapi窗口
    要创建一个纯 WinAPI 窗口,你需要完成以下步骤:1. 包含头文件:包含 `windows.h` 头文件,该头文件包含了创建窗口...
    99+
    2023-09-27
    winapi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作