Python可视化界面编程入门
Python可视化界面编程入门具体实现代码如所示:
(1)普通可视化界面编程代码入门:
import sys
from PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__=="__main__":
#创建一个Application的类
app=QApplication(sys.argv)
#创建一个窗口
w=QWidget()
#设置窗口的尺寸大小
w.resize(400,200)
# 移动窗口
w.move(300,300) #设置窗口的标题
w.setWindowTitle("得一个基于PyQt5的桌面应用")
#显示窗口
w.show()
#静进入程序的主循环,并且通过exit函数确保主循环的安全结束
sys.exit(app.exec_()) #一一直在桌面上显示窗口形状#QTdesigner和pyGUI扩展工具在pycharm平台中的的安装和配置
#直接安装QT软件或者安装anaconda开发环境之后就会在电脑安装好QTdesigner.exe文件,之后pycharm里面配置扩展工具external tool文件,便可以方便在pycharm里面直接启动在pycharm里面配置扩展工具external toolQTdesigne和pyGUI(可以将ui文件直转换为.py文件,建立设计的可视化界面的大类直接进行调用)


配置好之后设计可视化界面的步骤是:
(1)利用pychar里面的QTdesigner扩展工具进行可视化界面的设计,然后将其保存为.ui文件;
(2)使用pyGUI扩展工具将设计好的可视化界面.ui文件转换为.py文件,生成一个建立的可视化模板大类,直接进行调用即可。
具体代码如下所示:
import sys import mainwinvertical #导入相应的设计好的QTdesigner主窗口的类,然后即可直接进行展示(由ui文件经过PYGUI扩展工具转换而来) from PyQt5.QtWidgets import QApplication,QMainWindowif __name__=="__main__":app=QApplication(sys.argv)mainwin=QMainWindow() #创建一个窗口ui=mainwinvertical.Ui_MainWindow() #创建一个QTdesigner的类ui.setupUi(mainwin) #将对象直接进行运行设置函数,向主窗口上添加控件mainwin.show() #展示出来窗口的形式sys.exit(app.exec_()) #承接开头语句,用来实时的显示窗口其中mainwinvertical类的具体代码如下:(由QTdesigner设计好可是换界面,然后直接用pyGUi扩展工具转换为.python代码文件)
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'mainwinvertical.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(800, 600)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)self.verticalLayoutWidget.setGeometry(QtCore.QRect(390, 50, 201, 141))self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)self.verticalLayout_2.setObjectName("verticalLayout_2")self.pushButton_5 = QtWidgets.QPushButton(self.verticalLayoutWidget)self.pushButton_5.setObjectName("pushButton_5")self.verticalLayout_2.addWidget(self.pushButton_5)self.pushButton_4 = QtWidgets.QPushButton(self.verticalLayoutWidget)self.pushButton_4.setObjectName("pushButton_4")self.verticalLayout_2.addWidget(self.pushButton_4)self.pushButton_6 = QtWidgets.QPushButton(self.verticalLayoutWidget)self.pushButton_6.setObjectName("pushButton_6")self.verticalLayout_2.addWidget(self.pushButton_6)self.widget = QtWidgets.QWidget(self.centralwidget)self.widget.setGeometry(QtCore.QRect(30, 40, 291, 211))self.widget.setObjectName("widget")self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)self.verticalLayout.setContentsMargins(0, 0, 0, 0)self.verticalLayout.setObjectName("verticalLayout")self.label = QtWidgets.QLabel(self.widget)self.label.setObjectName("label")self.verticalLayout.addWidget(self.label)self.pushButton = QtWidgets.QPushButton(self.widget)self.pushButton.setObjectName("pushButton")self.verticalLayout.addWidget(self.pushButton)self.pushButton_2 = QtWidgets.QPushButton(self.widget)self.pushButton_2.setObjectName("pushButton_2")self.verticalLayout.addWidget(self.pushButton_2)self.lineEdit = QtWidgets.QLineEdit(self.widget)self.lineEdit.setObjectName("lineEdit")self.verticalLayout.addWidget(self.lineEdit)self.pushButton_3 = QtWidgets.QPushButton(self.widget)self.pushButton_3.setObjectName("pushButton_3")self.verticalLayout.addWidget(self.pushButton_3)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.pushButton_5.setText(_translate("MainWindow", "PushButton"))self.pushButton_4.setText(_translate("MainWindow", "PushButton"))self.pushButton_6.setText(_translate("MainWindow", "PushButton"))self.label.setText(_translate("MainWindow", "TextLabel"))self.pushButton.setText(_translate("MainWindow", "PushButton"))self.pushButton_2.setText(_translate("MainWindow", "PushButton"))self.pushButton_3.setText(_translate("MainWindow", "PushButton"))具体的运行结果如下所示:

相关文章:
Python可视化界面编程入门
Python可视化界面编程入门具体实现代码如所示: (1)普通可视化界面编程代码入门: import sys from PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__"__main__":#创建一个Appl…...
基于Java+SpringBoot+Vue前后端分离书店购书系统设计与实现
博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...
Android:截屏/视频截图
需求描述 实现截取Android应用当前界面的功能,需包含界面中视频(此博客的参考代码以存储在设备本地的视频为例,未检验在线视频的情况)当前的播放帧截图。 调研准备 首先应用需要获取设备存储的读写权限,需要在Andro…...
leecode-C语言实现-28. 找出字符串中第一个匹配项的下标
一、题目给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。示例 1:输入:haystack …...
使用 Postman 实现 API 自动化测试
目录:导读 背景介绍 名词解析 使用说明 执行 API 测试 集成 CI 实现 API 自动化测试 写在最后 背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比…...
k8s环境jenkins发布vue项目指定nodejs版本
k8s环境jenkins发布vue项目指定nodejs版本1、背景2、分析3、解决方法3.1、 找到配置镜像位置3.2、 制作新镜像3.3、 推送镜像到私有仓库3.4、 修改配置文件1、背景 发布一个前端项目,它需要nodejs 16.9.0版本支持,而kubesphere 3.2.0集成的jenkins 的镜…...
我应该把毕业设计做到什么程度才能过关?
本篇博客包含了狗哥多年职业生涯对于软件项目的一丢丢理解,也讲述了对于大学生毕业设计的一些理解。如果你还是懵懵懂懂就要离开学校了,被老师告知不得不做出一套毕业设计的时候,希望你可以看到这篇博客,让你有点头绪,…...
力扣-合作过至少三次的演员和导演
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1050. 合作过至少三次的演员和导演二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运…...
【 PMU】信号生成、采样、分割、估计器应用和误差计算(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
电子技术——AB类输出阶的偏置
电子技术——AB类输出阶的偏置 下面我们介绍两种AB类输出阶的偏置的方法。 使用二极管偏置 下图展示了电流源 III 加两个二极管的偏置方法: 因为输出阶需要大功率输出,因此输出推挽三极管可能是几何体积比较大的晶体管。对于二极管来说,并不…...
元宇宙营业厅,数字技术融合,赋能实体经济
在我国数字经济与虚拟服务市场规模扩大下,元宇宙营业厅强势来袭,从多场景、多内容,深耕高效协同的特色功能,基于多元化、灵活的交互体验,更大程度上解决线上业务办理抽象繁琐,线下业务办理的时空受限、业务…...
MySql面试精选—分库分表
目录 1、分库分表使用场景 2、常见的分库分表方案 3、常用的分库分表中间件...
Spring上下文生命周期
基于入口来分析 import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;Configuration ComponentScan public cl…...
GitHub 标星 15w,如何用 Python 实现所有算法?
学会了 Python 基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只是工具,结构算法才是灵魂。 新手如何入门 Python 算法? 几位印度小哥在 GitHub 上建了一个各种 Python 算法的新手入门大全。从原理到代码…...
LeetCode 700. 二叉搜索树中的搜索
LeetCode 700. 二叉搜索树中的搜索 难度:easy\color{Green}{easy}easy 难度:middle\color{orange}{middle}middle 难度:hard\color{red}{hard}hard 题目描述 给定二叉搜索树(BST)的根节点 rootrootroot 和一个整数值…...
【数据结构】树与二叉树
目录 1、树的概念及结构 1.1、概念 1、树的特点 2、树与非树 1.2、概念 (重要) 1.3、树的表示形式 2、二叉树(重点) 2.1、概念 2.2、二叉树的特点 2.3、两种特殊的二叉树 1、满二叉树 2、完全二叉树 2.4、二叉树的性…...
Stress压力工具的部署及使用
Stress压力工具的部署及使用 下载地址:wget https://fossies.org/linux/privat/old/stress-1.0.5.tar.gz 1.部署 进入目录执行./autogen.sh [rootiZ2ze1pj93eyq389c2ppi5Z stress-1.0.5]# ./autogen.sh ps:如果执行过程中缺包,安装对应的…...
[蓝桥杯 2020 省 AB3] 乘法表
题目描述九九乘法表是学习乘法时必须要掌握的。在不同进制数下,需要不同的乘法表。例如, 四进制下的乘法表如下所示:1*11 2*12 2*210 3*13 3*212 3*321请注意,乘法表中两个数相乘的顺序必须为样例中所示的顺序,不能随意交换两个乘…...
Python基础知识
基础知识 基础知识包括输入输出、变量、数据类型、表达式、运算符这5个方面。 1.输入输出 Python有很多函数,后面我们会细讲,但这里先将两个最基本的函数:输入和输出。 输出函数print(),在前面我们已经用过了,语法…...
FME案例实战教程:聚焦实战应用,摆脱思路束缚,您值得拥有
一、教程链接(一)FME案例实战教程链接1.FME案例实战教程(完整版) ☚强烈推荐☚2.FME案例实战教程(A组)3.FME案例实战教程(B组)4.FME案例实战教程(C组)&#…...
别再手动算矩阵了!COMSOL中矢量与矩阵变换的保姆级配置指南(附避坑点)
COMSOL中矢量与矩阵变换的高效配置与实战避坑指南 在COMSOL Multiphysics的建模过程中,矢量与矩阵操作是处理复杂物理场问题的核心技能之一。许多工程师和研究人员在初次接触COMSOL的变量定义系统时,往往会陷入一个误区——试图像常规编程语言那样直接定…...
DragGAN交互式图像编辑:基于GAN潜空间优化的点驱动形变技术详解
1. 项目概述:交互式生成对抗网络的直观革命最近在AIGC的圈子里,一个名为“DragGAN”的研究项目火了。它实现的效果非常直观且震撼:你上传一张由生成对抗网络(GAN)生成的图片,比如一只狮子、一辆汽车或一张人…...
PADS VX2.7 光绘文件实战:从CAM配置到Gerber输出的全链路解析
1. PADS VX2.7光绘文件生成的核心逻辑 第一次用PADS VX2.7输出Gerber文件时,我被它和其他EDA软件的区别惊到了。不像某些软件一键导出所有层,PADS需要像搭积木一样逐层配置,这种看似繁琐的设计其实暗藏玄机——它让工程师对每层光绘文件的生成…...
若依框架菜单管理进阶:从零构建独立详情页面的完整实践
1. 若依框架菜单管理基础与详情页需求分析 第一次接触若依框架的开发者可能会对它的菜单管理系统感到困惑。作为一个基于Spring Boot和Vue.js的前后端分离框架,若依的菜单管理实际上扮演着系统导航和权限控制的双重角色。在标准代码生成器生成的页面中,…...
【中科院研究所主办、高录用、往届会后4个月检索】第二届人工智能与基础模型国际学术会议(AIFM 2026)
第二届人工智能与基础模型国际学术会议(AIFM 2026)将于2026 年 6 月 26-28 日在中国乌鲁木齐举办。会议旨在汇聚来自世界各地学术界、产业界及政府机构的专家学者,围绕人工智能与基础模型技术的核心议题展开深度研讨,共同探索领域…...
实战复盘:我们如何定位并彻底解决Spring Gateway的‘262144字节’缓冲区限制问题
深度解析:Spring Gateway缓冲区限制问题的工程化解决方案 1. 问题背景与现象分析 去年夏天,我们的电商平台在促销活动期间突然遭遇了一系列诡异的API请求失败。前端团队报告称,部分包含大型商品列表的JSON请求在通过Spring Cloud Gateway时被…...
【亲测免费】 Unity WebGL中文输入插件——为WebGL游戏开启无缝中文输入新时代!
Unity WebGL中文输入插件——为WebGL游戏开启无缝中文输入新时代! 【下载地址】UnityWebGL中文输入插件 本仓库提供了一个Unity WebGL中文输入插件,该插件支持输入法跟随和全屏功能。通过使用此插件,开发者可以在WebGL平台上实现中文输入&…...
抖音批量下载神器:一键保存多个创作者的所有视频作品
抖音批量下载神器:一键保存多个创作者的所有视频作品 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 在当前短视频内容爆炸的时代,抖音汇聚了无数创意视频和优质内容。无论是学习舞蹈…...
【亲测免费】 GeoMatch_src:基于边缘的模板匹配技术
GeoMatch_src:基于边缘的模板匹配技术 【下载地址】GeoMatch_srcVS2015OpenCV3.3版说明文档 本仓库提供了**GeoMatch_src**项目的更新版本,专为使用Visual Studio 2015和OpenCV 3.3环境的开发者设计。GeoMatch_src是一个基于边缘的模板匹配技术实现&…...
CNC木质树莓派外壳制作:从设计到加工的全流程实践
1. 项目概述:当数字制造遇上经典木艺 给树莓派找个“家”,这事儿我干过不少。从3D打印的塑料壳到亚克力板拼的“鱼缸”,总觉得差点意思。塑料感太强,亚克力又显得冰冷。直到有一次在工作室里看到一块边角料的硬枫木,纹…...
