python利用PyQt5和QTDesginer开发GUI应用(一)、环境准备及demo

PyQt5 Demo 记事本(实现大部分功能) 实现了大部分记事本的功能,替换功能未能实现,还有主题样式、状态栏等,今后再加吧! 学习总结一,直接上代码~ Demo 记事本 登录主窗口(.ui转为.py):untitled.py # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'I:\1实验室\其他\QTtest\untitle... 阅读详情

1.python环境准备(推荐使用anaconda) 以及pycharm应用安装:

略

2.安装PyQt5和PyQt5-tools

如果安装不成功可以多试几次,还不行的话可以修改pip为豆瓣的源:http://pypi.douban.com/simple,再不行的话就到pypi上下载whl包使用命令行安装即可: pip.exe install xxx.whl

我这里的版本分别是PyQt5==5.13.0和pyqt5-tools5.13.0.1.5

3.PyCharm配置外部工具:

在File-->Settings-->Tools-->External Tools中新增:

QTDesginer:用来画出GUI界面。

如图配置即可,很多人找不到designer.exe在哪里还要单独去下载,其实在装完pyqt5-tools这个包之后里面已经带了。到当前python环境的$PYTHON_ENV\site-packages\pyqt5_tools\Qt\bin\designer.exe即可找到

PyUIC:用来将designer画的.ui格式的文件转为.py文件

-m PyQt5.uic.pyuic $FileName$ -o ..\show_ui\$FileNameWithoutExtension$.py

配好保存之后,在Tools-->External Tools里就可以看到新增的两个外部工具了:

4.画UI

我们先来画界面,打开QTDesginer:

新建选择Widget,然后从左边选择需要的组件拖拽进新建的画板里,在右边可以设置名字、样式、默认值等等。

这里只画好了界面,下面配置触发函数:

点击这里的编辑信号/槽:

选择你认为会在做出改变或点击事件的时候应该触发效果的组件拖拽出一根线:

接下来会出现这个窗口:

点击编辑,新增一个函数,这里的函数名就是在后面实现功能的时候会用到的,我这里新增一个submit_btn()。

左边选择事件类型,我这里选择当点击click()即可触发,触发右边的我们定义的函数submit_btn()。

左边的事件类型在不同的组件里是不一样的,这个可以参考官方文档,有很多也很详细。

用同样的方式新增一个clear_btn()

好了先保存my_csdn.ui文件。

5.UI转为python脚本

右键my_csdn.ui选择External Tools->PyUIC即可通过.ui文件生成.py文件,生成的文件就在上面配置PyUIC外部工具的时候给的路径:

打开看看生成的py文件:

可以看到生成的文件里都是self.组件名.属性/函数

6.实现UI里的功能

我们新增一个py文件用来实现对应的功能:

将刚才生成的my_csdn里的Ui_Form引进来,然后定义class实现对应的函数即可。

简单修改一下:

7.源码

代码:

my_csdn_show_ui.py

import sys
from PyQt5 import QtWidgets,QtCore
from PyQt5.QtCore import QDate,QDateTime,QTime,Qt
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from my_csdn import Ui_Form

class mywindow(QtWidgets.QWidget, Ui_Form):
    txt=''
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('优快云_Demo')
    def submit_btn(self):
        self.txt += self.lineEdit.text()+'\n' #获取输入的内容
        self.plainTextEdit.setPlainText(self.txt)#将文本框里的值追加在下面的文本区内

    def clear_btn(self):
        self.txt=''
        self.plainTextEdit.setPlainText(self.txt)#清除文本区内容


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    ui = mywindow()
    ui.show()
    sys.exit(app.exec_())

my_csdn.py [用.ui生成的]

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(447, 423)
        self.lineEdit = QtWidgets.QLineEdit(Form)
        self.lineEdit.setGeometry(QtCore.QRect(60, 60, 121, 31))
        self.lineEdit.setObjectName("lineEdit")
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(10, 60, 71, 31))
        self.label.setObjectName("label")
        self.pushButton_submit = QtWidgets.QPushButton(Form)
        self.pushButton_submit.setGeometry(QtCore.QRect(190, 60, 81, 31))
        self.pushButton_submit.setObjectName("pushButton_submit")
        self.plainTextEdit = QtWidgets.QPlainTextEdit(Form)
        self.plainTextEdit.setEnabled(True)
        self.plainTextEdit.setGeometry(QtCore.QRect(10, 110, 381, 131))
        font = QtGui.QFont()
        font.setPointSize(12)
        self.plainTextEdit.setFont(font)
        self.plainTextEdit.setReadOnly(True)
        self.plainTextEdit.setObjectName("plainTextEdit")
        self.pushButton_clear = QtWidgets.QPushButton(Form)
        self.pushButton_clear.setGeometry(QtCore.QRect(290, 60, 81, 31))
        self.pushButton_clear.setObjectName("pushButton_clear")

        self.retranslateUi(Form)
        self.pushButton_submit.clicked.connect(Form.submit_btn)
        self.pushButton_clear.clicked.connect(Form.clear_btn)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "请输入:"))
        self.pushButton_submit.setText(_translate("Form", "submit"))
        self.pushButton_clear.setText(_translate("Form", "clear"))

 

PyQt5配合Qt-Designer实现GUI 如题,本文主要内容围绕 Python 实现 GUI 展开, 阅读详情

相关推荐

github上关于PyQt5的各种各样的demo,方便学习

非常好的github上关于pyqt5的示例代码,只要你pip insatall pyqt5之后,就能直接运行

(一)PyQt5系列教程:使用PyQt5创建一个简单的demo

(一)PyQt5系列教程:使用PyQt5创建一个简单的demo 一、环境配置: 1. python下载(建议python3.8版本以上)和安装 2. pycharm下载和安装 3. PyQr5下载和安装 4. 在pycharm中添加对应的PyQt5的包 5.设置PyQt5的设计器,将PyQt5文件转换成python: 复制designer.exe的路径: 然后打开setting,配置外部工具:(可以在pycharm直接调用软件外的工具) Program:是刚才复制的路径; Arguement填如下面

K_AAbb的博客 7414

python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例

在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言。其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式,以达到美化图形界面的目的。 本篇文章中,我们就通过一个实际的例子,使用QSS和PyQt5的配置属性,实现图形用户界面的美化工作。 首先上效果图: 一、对界面进行布局和组件的布置 在图像界面编程中,一个好的布局有助于全局把控界面的形态,而在PyQt5中,有多种布局的方式供我们选择,比较常用的布局有以下几种: 表单布局:QFormLayout 网格布局:QGridLayout 水平排列布局:QHB

pyqt5 基础通用demo

首先是pyqt最基础开发环境 python2 pip install python-qt5 python3 pip install PyQt5 安装成功后试用下以下demo # coding = utf-8 from PyQt5 import QtCore,QtGui,QtWidgets import sys class MainUi(QtWidgets.QMainWindow): def __init__(self): super(MainUi,self)._

文选的blog 1733

【C++】小猫钓鱼纸牌游戏--C++实现

小猫钓鱼问题: 描述:初始,两个人各有n张牌(牌面0-10),顺序固定,只能按顺序出牌。然后,两个人轮流在桌面上以接龙的方式出牌,当某个人放置的牌在桌面上已经出现时,他收起相同牌面及其中间的牌作为自己的筹码,同时需要再放一张牌到桌面。某人手上的牌出完后,另一个人继续出,直到两人手上都没牌为止,输出结束时两个人手上的筹码数。 #include<iostream> using namespace std; struct queue { int head; //队列首 int tail; //

qq_41344430的博客 3202

Ubuntu22.04 apt 安装 ROS1 ROS Noetic Ninjemys

ubuntu 22.04 apt-get 安装 ros1 ros Noetic 最新版

autolabor的博客 5万+

pyqt5文档安装 ubuntu_python利用PyQt5和QTDesginer开发GUI应用(一)、环境准备及demo

1.python环境准备(推荐使用anaconda) 以及pycharm应用安装:略2.安装PyQt5和PyQt5-tools如果安装不成功可以多试几次,还不行的话可以修改pip为豆瓣的源:http://pypi.douban.com/simple,再不行的话就到pypi上下载whl包使用命令行安装即可:pip.exe install xxx.whl我这里的版本分别是PyQt5==5....

weixin_30990711的博客 284

Realtek RTD1319D芯片解析:H.266与AV1双解码的机顶盒SoC

视频编解码技术是数字媒体传输的核心,H.266/VVC作为新一代标准,相比H.265提升50%压缩效率,显著降低带宽需求。其实现原理依赖于专用硬件解码器和并行处理架构,在超高清视频传输领域具有重要价值。Realtek RTD1319D作为首款商用H.266处理器,采用异构计算设计,集成四核ARM CPU和独立视频处理单元,同时支持AV1解码,兼顾市场兼容性。该SoC特别适合4K机顶盒、数字标牌等应用场景,其HDMI 2.1a接口和DVB解调器为超高清内容传输提供完整解决方案。开发时需注意散热设计和内存配置优

weixin_42591413的博客 672

python利用PyQt5和QTDesginer开发GUI应用(二)、股票查询工具

python应用GUI开发系列: python利用PyQt5和QTDesginer开发GUI应用(一)、环境准备及demo ------------------------------------------------------------------------------------------------------------------- 这里使用tushare实时采集财经类信...

王义凯 的博客 2481

SIwave仿真手册——信号完整性仿真之S参数的提取(二)

上一篇简单了讲述了软件的各个操作界面,本次博客更新关于的仿真,因为第二章完整的内容比较多,所以分成好几篇博客进行分享。

luohuo9844的博客 1万+

C# Blazor Server工业监控Web UI:实时数据推送、历史曲线、报警记录,跨浏览器访问(踩坑总结+生产可用)

坑点现象解决方案StateHasChanged()太频繁服务器CPU占用高,浏览器卡顿别100ms刷新一次,1秒刷新一次足够并发高时服务器卡多个用户同时访问,服务器响应慢用Redis做分布式缓存,或者加服务器做负载均衡断线重连后数据丢失浏览器刷新后,实时数据不更新用InfluxDB存历史数据,刷新后重新查询工业现场网络不稳定Blazor Server频繁断线用SQLite本地缓存,断网时数据不丢,联网后补发历史曲线查询慢查询过去7天的数据,要等很久。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 307

python怎么使用qtdesigner_python的qt-designer教程/python怎么使用qtdesigner设计的ui

PyQt Designer设计出来的界面怎么和python 代码结合起来保存为.ui的文件后,可pyqt的文件里直接引用。具体实如果你是在win下装自带Pyqt的demo,参看下源码就可以,如果是Unix里,可以去官网下份单独的tar.gz的包,里面也有demo部分的源码uic.loadUi 方法可以导入ui文件但是我发现,在众多的PyQt demo里面只用到.ui 文件的例子只是占了一部分,并不...

weixin_39732249的博客 1534

〖Python接口自动化测试实战篇④〗- 接口自动化测试详解

[接口测试] 是相对来说和我们的功能测试 [最为接近的一种自动化测试手段] ,所以我们首先来学习接口测试的内容。 实现接口的开发与接口的测试,在我们的思维上、想法上、面向的态度上都是不一样的。所以大家要有一个思维上的转换,要认识了解一下 接口测试到底是做什么的、它的功能、意义在哪里。...

易编橙 · 终身成长社群,相遇已是上上签! 5万+

PyQt5的安装与Designer的配置使用(实现一个入门Demo,图文详解)

PyQt5的安装与Designer的配置使用 文章目录PyQt5的安装与Designer的配置使用1 PyQt包安装2 Pycharm配置2.1 创建一个空的Project2.2 找到包的安装位置2.3 找到Qt Designer.exe的安装路径,配置Pycharm3 创建一个小案例Demo3.1 创建第一个视图3.2 生成界面代码3.3 代码编写 1 PyQt包安装 pip install PyQt5 -i http://mirrors.aliyun.com/pypi/simple pip instal

鹏啊鹏 4383

【工程师一次性讲明白系列】什么是电压驻波比 (VSWR)

电压驻波比(VSWR)是电信号传输过程中非常重要的指标,控制VSWR的大小可以提高信号传输效率和系统稳定性。通过优化阻抗匹配,可以有效地减少反射信号,提升通信质量!🚀📡。

weixin_43199439的博客 1300

半导体设备系列(2) 半导体设备与工厂控制仿真器Demo编写

基于C/S架构用C++编写半导体设备仿真器与工厂控制仿真器

追赶时代的博客 610

PyQt5简介及demo

PyQt5说明   pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http://www.riverbankcomputing.co.uk/news。   pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有...

weixin_30535913的博客 1881

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

pyqt5 demo

【代码】pyqt5 demo。

gRpc的博客 288

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

qt qss样式模板_实战PyQt5:112-开源QSS样式表qdartstyle

使用Python开发应用一个重要的优点是有丰富的第三方库,在开发过程中我们就不需要重复造轮子,而是应用好这些轮子,就可以事半功倍。下面介绍一个深色配置QSS库QDarkStyleSheet,使用它,在PyQt中,只需要简单的一个语句,就可以给用用实现炫酷的深色风格。QDarkStyleSheet简介QDarkStyleSheet是一个适用于Qt应用程序的最完整的深色样式表(Qt4,Qt5,PySi...

weixin_39831567的博客 3010

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pyqtqss_PyQt5 - QSS(Qt Style Sheet)

[code]#这里MainWindow为实例化出的窗体名(实例名)qss_style = '''#pushButton_1,#pushButton_2,#pushButton_3,#pushButton_4,#pushButton_5,#pushButton_6{background-color:grey;border-radius:20px;#border:2px solid yellow;}....

weixin_29150151的博客 563

一款PyQt的美化模板——PyDracula

对于新手来说,从零开始用Qt设计一个美观的GUI是颇有难度的。Github上有许多开源的GUI模板供我们学习和参考。PyDracula是一款基于PySide6 和 Python 3.9开发的开源GUI模板。主题保存在不同的QSS文件当中。这一步可能很多人会遇到“代码无法生成”的问题。如果这个方法无效,可以尝试Scripts文件夹里面的"pyside6-uic.exe"

qq_63218152的博客 1万+

qt ui框架_5个开源Python GUI框架

您的Python程序需要图形用户界面吗?这里有五个工具可以帮助您构建一个。在Python中,开始GUI编程的步骤并不十分复杂,但是它们确实需要用户开始做出一些选择。由于Python是一种通用编程语言,在每个通用操作系统中都有解释器可用,因此它对于创建图形用户界面的选择是相当不可知的。幸运的是,有许多可供程序员使用的选项,它们希望为用户提供一种与用户的程序进行交互的简便方法。在各种平台上都存在针对多...

weixin_39678163的博客 1891

15 个 Python 开源项目,使用 PyQt 做小型桌面应用!

点击上方蓝色小字,关注“涛哥聊Python”重磅干货,第一时间送达来源:开源前哨【导语】:想制作属于自己的桌面应用程序吗?这有 15 个示例带你手把手入门。简介本次将介绍一个用 PyQt ...

涛哥聊Python 1万+

收藏的博客 -- Qt有关的GitHub/Gitee开源项目

收藏的博客 -- Qt有关的GitHub/Gitee开源项目 置顶 libaineu2004 2017-08-18 14:50...

呓语煮酒的博客 3500

Python pyqt5 爬虫采集demo play

class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(736, 474) self.centralwidget = QtWidgets.QWidget(MainW...

li947011039的博客 567

pyqt5 socke-tcp通信demo

代码: from PyQt5.QtWidgets import \ QWidget, QMainWindow, QAction, QVBoxLayout, QLineEdit, QPushButton, QTextEdit, QMessageBox, QApplication from PyQt5.QtGui import QTextCursor, QIcon from PyQt5.QtNetwork import QTcpSocket from PyQt5.QtCore import Qt .

baidu_41706898的博客 1079
上一篇: kafka管理监控系统 CMAK(yahoo的kafka-manager)部署及使用
下一篇: python利用PyQt5和QTDesginer开发GUI应用(二)、股票查询工具
王义凯_Rick
王义凯_Rick 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄14年 858粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值