首页 > 编程语言 >『PyQt5-基础篇』| 03 基于PyQt5的第一个应用程序简单示例

『PyQt5-基础篇』| 03 基于PyQt5的第一个应用程序简单示例

时间:2023-09-01 16:35:35浏览次数:67  
标签:03 widget 窗口 示例 QApplication PyQt5 sys QWidget

(03 基于PyQt5的第一个应用程序简单示例)

1 导入必须的类

  • 需要两个类Application,QWidget
  • 这两个类继承于QtWidgets
  • Application是应用程序类,QWidget是窗口类;
  • sys模块是应用程序或窗口的参数会用到。
import sys
from PyQt5.QtWidgets import QApplication, QWidget

2 创建Application类的实例

# 创建QApplication类实例
    app = QApplication(sys.argv)

3 创建窗口及其相关操作

  • 创建窗口:
# 创建窗口
    widget = QWidget()
  • 设置窗口尺寸:
# 设置窗口尺寸
    widget.resize(500, 450)
  • 移动窗口(即改变左上角零点坐标):
# 移动窗口
    widget.move(350, 500)
  • 设置窗口标题:
# 设置窗口标题
    widget.setWindowTitle("第一个PyQt5应用")
  • 窗口的显示:
# 窗口的显示
    widget.show()

4 安全退出

# 进入窗口的主循环并退出
    sys.exit(app.exec_())

5 完整代码

# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/8/25 
# 文件名称:test_case.py
# 作用:第一个PyQt5应用程序

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == "__main__":
    # 创建QApplication类实例
    app = QApplication(sys.argv)

    # 创建窗口
    widget = QWidget()
    # 设置窗口尺寸
    widget.resize(500, 450)
    # 移动窗口
    widget.move(350, 500)
    # 设置窗口标题
    widget.setWindowTitle("第一个PyQt5应用")
    # 窗口的显示
    widget.show()

    # 进入窗口的主循环并退出
    sys.exit(app.exec_())

6 运行效果

在这里插入图片描述

7 Qt Designer、PyUIC5、PyRcc5的参数

参数 Qt Designer PyUIC5 PyRcc5
说明 辅助快速设计程序 .ui文件转换成Python代码 将资源文件(如图标、样式表等)编译成Python模块
Name Qt Designer PyUIC5 PyRcc5
program D:\Python 3.5\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe(换成自己的目录即可) D:\Python 3.5\Scripts\pyuic5.exe D:\Python 3.5\Scripts\pyrcc5.exe
arguments $FileDir$\$FileName$ $FileName$ -o $FileNameWithoutExtension$.py $FileName$ -o $FileNameWithoutExtension$.py
working directory $FileDir$ $FileDir$ $FileDir$

标签:03,widget,窗口,示例,QApplication,PyQt5,sys,QWidget
From: https://blog.51cto.com/NoamaNelson/7324208

相关文章

  • go template函数,变量等语法示例
    Go标准库提供了几个package可以产生输出结果,而text/template 提供了基于模板输出文本内容的功能。html/template则是产生安全的HTML格式的输出。这两个包使用相同的接口,但是我下面的例子主要面向HTML应用。解析和创建模板命名模板模板没有限定扩展名,最流行的后缀是.tmpl,vim-go......
  • 【CF1503A】Balance the Bits(构造)
    题目大意:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;lln;chars[200000+10];chara[200000+10],b[200000+10];intmain(){ ios::sync_with_stdio(0); cin.tie(0); intT; cin>>T; while(T--){ cin>>n>>(s+......
  • 【Python进阶-PyQt5】00PyQt5简介
    0.图形用户界面-开发选择在Python基础的教程中,我们程序的用户交互界面都是运行窗口。这个运行窗口对于我们编程者来说直观明了,但是对于一些相对复杂的程序,用户使用上就会变得十分麻烦。所以,我们要通过设计用户交互界面来解决这种问题。程序的图形用户交互界面,英文称之为GUI(Grap......
  • What's the difference between Async Await and Promise in JavaScript All In One
    What'sthedifferencebetweenAsyncAwaitandPromiseinJavaScriptAllInOneAsyncvsPromisedemos(......
  • The repository 'http://mirrors.163.com/debian jessie Release' does not have a Re
    设置Debian源为国内网易源tee/etc/apt/sources.list<<EOFdebhttp://mirrors.163.com/debian/jessiemainnon-freecontribdebhttp://mirrors.163.com/debian/jessie-updatesmainnon-freecontribEOF执行apt-getupdate出现报错root@d61378b9f12b:/#apt-getupda......
  • 习题纠错03
    表达式"X=A+B(C-D)/E"的后缀表示形式可以是()//答案是CAXAB+CDE/-=BXA+BC-DE/=CXABCD-E/+=DXABCDE+/=//从左到右边遍历这个中缀表达式//X添加到后缀表达式,=入栈,A添加到后缀表达式中//+进入栈,B进入后缀表达式,和(入栈,C进入后缀表达式中//-进入栈,D进入后缀表达式,遇到),-和(出栈......
  • print ("标签为" + str(train_set_y[:, index]) + ", 这是一个'" + classes[np.squeez
    这行代码使用 print 函数来输出一条信息。信息的内容是由多个字符串拼接而成的,其中包括 train_set_y 数组中指定索引处的值和 classes 数组中指定索引处的值。首先,"标签为" 是一个字符串字面量。接下来,str(train_set_y[:,index]) 表示获取 train_set_y 数组中第二维索......
  • configure: error: Can't find GL/gl.h. Look for Mesa devel packages for your dist
    1.安装文件查询工具 sudoaptinstallplocate  2.查询头文件地址,shell命令:locateGL/gl.h     3.为编译时指定其他的头文件查询地址:exportCPLUS_INCLUDE_PATH=/usr/include  ======================================= ......
  • 【五期邹昱夫】CCF-A(TIFS'23)SAFELearning: Secure Aggregation in Federated Learning
    "Zhang,Zhuosheng,etal."SAFELearning:SecureAggregationinFederatedLearningwithBackdoorDetectability."IEEETransactionsonInformationForensicsandSecurity(2023)."  本文提出了一种在联邦学习场景下可以保护隐私并防御后门攻击的聚合方法。作者认......
  • node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported
    出现原因貌似是因为是因为node17版本开始发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。解决方法第一种方法降低node版本降低到17以下即可,如项目不能降低版本看后面的解决方式第二种方法设置NODE_OPTIONS环境变量......