Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]一、安装Anaconda软件二、安装PyCharm软件三、安装PyQt5Anaconda软件自带PyQt,但是安装不完整,开发时可能会遇到问题。因此,最好自己重新完整安装一遍。1.打开AnacondaPrompt终端界面2.安装pyqt5输入以下命令安装:pipinstallpyqt5如果以上命令安装不成功的话使用镜像安装,执行命令:pipinsta…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、安装Anaconda软件

二、安装PyCharm软件

三、安装PyQt5

Anaconda软件自带PyQt,但是安装不完整,开发时可能会遇到问题。因此,最好自己重新完整安装一遍。

1.打开Anaconda Prompt终端界面

2.安装pyqt5

输入以下命令安装:

pip install pyqt5

如果以上命令安装不成功的话使用镜像安装,执行命令:

pip install -i https://pypi.douban.com/simple pyqt5

3.安装pyqt5-tools

pip install -i https://pypi.douban.com/simple pyqt5-tools

四、PyQt5界面开发

PyQt5界面开发主要有两种方式:一种是通过编程的方式;另一种是通过UI设计工具的方式。我们选择后者。

1.首先打开UI设计工具designer

在Anaconda Prompt终端界面输入以下命令打开:

designer

打开后界面 如图所示:

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

 选择Main Window然后点击创建,结果如下图所示:

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

 左侧为PyQt的各种控件,如按钮,进度条,显示界面等。鼠标选中控件左键按住不放拖动到Main Window中即可。这里我们设计一个简单的界面,用户输入内容,点击打印按钮在下方显示用户输入的内容,如下图所示。

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

 完成界面设计后还需要绑定按键触发事件的槽函数,即当按键按下后执行的程序函数名。如下图所示,(1)点击编辑槽函数按钮进入槽函数编辑模式。(2)鼠标选中打印按钮按住左键不放往上拖动然后松开会弹出配置连接窗口。(3)左侧栏选中触发型号clicked(),点击右侧的编辑选项弹出信号槽窗口。(4)点击加号按钮输入myprint(),然后点击OK即可。这里myprint()就是我们在接下来要实现的按钮点击事件的槽函数。

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

 保存到自己新建的工程文件夹中,命名为ui,生成一个ui.ui文件。

然后开始配置PyCharm:

打开PyCharm新建一个工程,目录选择我们自己新建的工程目录。建好工程后依次点击File -> settings -> Tools -> External Tools,然后点击+号,如下图所示。

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

Name填QtDesigner。Program选择自己的designer.exe所在路径。Working directory填$FileDir$。然后点确定。

再点+号,类似的,Name填pyuic5。Program选择自己的pyuic5.exe所在路径。Parameters填$FileName$ -o $FileNameWithoutExtension$.py。Working directory填$FileDir$。然后点确定。

再点+号,Name填pyrcc5。Program选择自己的pyrcc5.exe所在路径。Parameters填$FileName$ -o $FileNameWithoutExtension$_rc.py。Working directory填$FileDir$。然后点确定。

至此,已完成PyCharm的配置。

接下来由刚才保存的ui.ui文件生成ui.py文件。如下图所示,鼠标选中ui.ui文件点击右键,然后选择External Tools -> pyuic5,即可生成ui.py文件。

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

最后,我们新建一个main.py文件,在里面编写槽函数myprint()的具体实现。代码如下所示:

# -*- coding: utf-8 -*-
from ui import Ui_MainWindow  # 导入UI
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QMessageBox


# 槽函数
class myMainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(myMainWindow, self).__init__(parent)
        self.setupUi(self)

    def myprint(self):
        self.textBrowser.setText(self.lineEdit.text())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = myMainWindow()
    ui.show()
    sys.exit(app.exec_())

 运行main.py文件,最终效果如下图所示:

Anaconda+PyQt5+PyCharm开发并生成.exe可执行文件[通俗易懂]

五、生成.exe可执行程序

1.安装pyinstaller

2.安装pywin32

3.在Anaconda Prompt终端界面进入到新建的工程目录下,执行以下命令即可生成.exe文件,位于dist文件夹下。

pyinstaller -F main.py -w

 如果出提示错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 130: invalid continuation byte,则是编码格式的问题。

解决办法:先在Anaconda Prompt终端界面输入chcp 65001命令,再执行 pyinstaller -F main.py -w命令

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/175007.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 支持向量机的原理

    一、什么是支持向量机  支持向量机(supportvectormachine,简称SVM)是一种基于统计学习理论的新型学习机,是由前苏联教授Vapnik最早提出的。与传统的学习方法不同,支持向量机是结构风险最小化方法的近似实现。这个归纳原理是基于这样的事实,学习机器在测试数据上的误差率(即泛化误差率)以训练误差率和一个依赖于Vc维数(Vapnik-Chervonenkisdimensio…

  • [乐意黎原创] 美女发帖求嫁有钱人 金融家精彩回应[通俗易懂]

    [乐意黎原创] 美女发帖求嫁有钱人 金融家精彩回应

  • 使用reaver命令穷举PIN码破解WPA2-PSK加密的无线网络[通俗易懂]

    使用reaver命令穷举PIN码破解WPA2-PSK加密的无线网络[通俗易懂]【前言】现在的路由器大多都默认用WPA2-PSK方式对无线网络进行加密了,不能再像WEP加密方式那样好破解,使用字典又需要费心费力地整理字典,而且字典破解的效率还慢。所以我们需要更有效率的破解方法。好在现在大多数的路由器都提供WPS功能,通过这个功能,用户可以使用PIN码登录到路由器。但这个PIN码的长度只有8位,而且可能的取值只有11000种(注意,不是10…

  • Android adb 命令大全「建议收藏」

    Android adb 命令大全「建议收藏」转自:https://github.com/mzlogin/awesome-adbADB,即AndroidDebugBridge,它是Android开发/测试人员不可替代的强大工具,也是Android设备玩家的好玩具。持续更新中,欢迎提PR和Issue补充指正,觉得有用的可以将此GitHub仓库Star收藏备用。注:有部分命令的支持情况可能与Android…

  • 部门人员职位权限表设计图_职位设置

    部门人员职位权限表设计图_职位设置用户角色多对多 角色权限多对多用户部门多对多部门表 用户_部门表用户表 用户_角色表角色表  角色_权限表权限表 用户    用户_角色 (角色)    角色_菜单 菜单 — 支付 –退款 –转账 –提现 –充值 交易表账表详细账目表

  • 在dos中发现一个分区表_dos dir命令

    在dos中发现一个分区表_dos dir命令下面以我所使用的电脑硬盘为例来分析0号扇区,看看MBR中的表项包含了多少信息,是什么意思。由前面的分析我们知道00~1BD的446个字节为引导代码,所以我们重点关注分区表项。即1BD~1FD,这个64个字节。为了方便起见,这里将分区表一列表的形式展现出来,由于CHS现几乎不再使用了,所以我们只提取了LBA参数。分区表值表项号引导标志分区类型值起始扇区

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号