Python可视化界面编程入门

2023-10-27

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,QMainWindow

if __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, QtWidgets


class 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.translate
        MainWindow.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"))

具体的运行结果如下所示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python可视化界面编程入门 的相关文章

随机推荐

  • 大数据毕设 - 校园卡数据分析与可视化(python 大数据)

    文章目录 0 前言 1 课题介绍 2 数据预处理 2 1 数据清洗 2 2 数据规约 3 模型建立和分析 3 1 不同专业 性别的学生与消费能力的关系 3 2 消费时间的特征分析 4 Web系统效果展示 5 最后 0 前言 Hi 大家好 这
  • python和opencv利用摄像头进行视频捕获

    python容易上手 利用opencv进行视频录制及后期的人脸识别 都是比较简单易上手的方案 工具 python3 10 opencv4 54 平台 win10 vscode 摄像头捕获程序 import cv2 as cv cap cv
  • Arduino从零开始(2)——控制舵机与步进电机

    0 前言 本文主要介绍通过Arduino控制舵机 步进电机以及循环的使用 目录 0 前言 1 介绍 2 Arduino控制舵机 2 1方法一 2 2方法二 3 Arduino控制步进电机 1 介绍 对于Arduino控制舵机的方法是通过其输
  • 做方差分析需要正态性检验吗_方差分析(SPSS版)

    方差分析 SPSS版 原创 Gently spss学习乐园 2019 10 15 文章同步于 微信公众号 SPSS学习乐园 方差分析 SPSS版 方差分析的基本思想 R A Fisher提出的统计理论基础 将总变异分解为由研究因素所产生的变
  • 计算机系统结构:流水线技术总结

    文章目录 什么是流水线 流水线的分类 流水线的性能指标 流水线设计中的若干问题 非线性流水线的调度 单功能非线性流水线的最优调度 多功能非线性流水线的调度 一条经典的5段流水线 相关与流水线冲突 结构冲突 因硬件资源满足不了指令重叠执行的要
  • 基于Pytorch实现LSTM(多层LSTM,双向LSTM)进行文本分类

    LSTM原理请看这 点击进入 LSTM nn LSTM input size hidden size num layers 1 nonlinearity tanh bias True batch first False dropout 0
  • Cesium加载Supermap的wmts服务

    最近使用cesium 加载supermap的wmts 服务 多次遇到加载异常与白页面问题 纠结好久最后才搞定 特此记录 1 首先找到方法加载wmts 的api 文档 官方提示使用WebMapTileServiceImageryProvide
  • nginx配置防止域名恶意解析

    前几发生一件事情 就是通过nginx日志发现有一个域名恶意指向到了我的服务器 大家可以去查查域名恶意解析可能会造成的危害 由于我是用的nginx配置了一个反向代理 所以直接配置nginx就可以实现域名恶意解析的问题了 首先打开我们的ngin
  • Hyperledger Fabric 入门笔记(四)Fabric V2.4 测试网络基础

    文章目录 前言 一 准备测试网络 1 1 概述 1 2 完成准备工作 1 2 1 运行install fabric sh脚本 1 2 2 文件夹去锁 可选 1 3 install fabric sh脚本运行结果 1 4 什么是二进制文件 1
  • 计算机毕业设计题目100例

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

    1 iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件 不可以去其它地方访问 此区域被成为沙盒 所以所有的非代码文件都要保存在此 例如图像 图标 声音 映像 属性列表 文本文件等 1 1 每个应用程序都有自己的存储空间
  • 移动硬盘安装centos8

    买了个西数固态移动硬盘想要安装centos8 感觉应该很简单没想到也有不少坑 1 下载iso https www centos org download X86 64版本的 CentOS 8 4 2105 x86 64 dvd1 iso 为
  • Java包名与包路径

    很多初学者以为只要把生成的class文件放在某个目录下 这个目录名就成了这个类的包名 这是一个错误的看法 不是有了目录 结构 就等于有了包名 为Java类添加包必须在Java源文件中通过 package语句指定 单靠目录名是没法指定的 Ja
  • Hive对库对表的操作

    目录 前期工作 1 Hive对库的操作 2 Hive对表的操作 3 Hive的分区表 前期工作 需提前启动服务端 hiveserver2 和客户端 beeline u jdbc hive2 192 168 67 110 10000 n ro
  • 如何判断一个请求是否为Ajax请求

    Ajax请求中主要对象 原生对象 是XMLHttpRequest 知道了该对象 那么就可以通过判断请求头属性来鉴别当前请求 判断当前请求是否为Ajax public static boolean isAjaxRequest HttpServ
  • typora文章同步(跨平台)

    typora实现备份 个人博客 一 图片上传 PicGo有提供默认的图床 可以直接使用 但是有上传的限制 有特定要求的可以自己配置github图床 1 配置github图床 利用github搭建图床 2 安装PicGo 下载链接 windo
  • 【判断题】【简答题】【数据库原理】

    文章目录 一 判断题 二 简答题 一 判断题 1 数据的安全性主要防范的对象是合法用户 正确答案 错 2 数据库恢复是利用冗余数据来重建数据库 正确答案 对 3 定义外键级级联是为了保证相关表之间数据的一致性 正确答案 对 4 创建唯一性索
  • React小技巧-React.memo useMemo useCallback

    React小技巧 React memo useMemo useCallback 原文 https piyushsinha tech series optimizing react ck subscriber id 1555690090 本文
  • TV服务器的安装维护和调试,广电机顶盒安装调试教程及系统设置密码

    QQ截图20160813140648 png 931 06 KB 下载次数 3 2016 8 13 14 43 上传 电视机与机顶盒正确连接后 打开电视机和机顶盒的电源开关 并按电视机遥控器的视频切换键 TV 切换到IPTV界面 第一步 进
  • Python可视化界面编程入门

    Python可视化界面编程入门具体实现代码如所示 1 普通可视化界面编程代码入门 import sys from PyQt5 QtWidgets import QWidget QApplication 导入两个类来进行程序界面编程 if n