Python – 编写可视化界面(Python+PyCharm+PyQt)

Python – 编写可视化界面(Python+PyCharm+PyQt)Python编写可视化界面最近开始学习Python,但只限于看理论,编几行代码,觉得没有意思,就想能不能用Python编写可视化的界面。遂查找了相关资料,发现了PyQt,由于前一段时间刚看过Qt,而且对Qt的印象很好,于是觉得用PyQt应该是一个比较愉快的选择。1、前言PyQt的版本需要与Python的版本保持一致,在这里我用的PyQT的版本是PyQt5-5.6-gp…

大家好,又见面了,我是你们的朋友全栈君。

    最近开始学习Python,但只限于看理论,编几行代码,觉得没有意思,就想能不能用Python编写可视化的界面。遂查找了相关资料,发现了PyQt,由于前一段时间刚看过Qt,而且对Qt的印象很好,于是觉得用PyQt应该是一个比较愉快的选择。

1、前言

    PyQt的版本需要与Python的版本保持一致,在这里我用的PyQT的版本是 PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64.exe,具体下载方式,请直接搜索。由于该版本需要v3.5版本的Python,所以首先需要安装Python3.5,然后安装PyQt,为了更加方便的写代码,故安装了Pycharm,版本为pycharm-community-2017.3.2.exe。具体的下载、安装,网上有很多教程,在这里就不多做描述,请自行搜索,下面就先介绍基于Pycharm+Python3.5+PyQt5.6的Python可视化编程。文末还会介绍一下基于最新版本的Pycharm2018.3+Python3.7+PyQt5.11的Python可视化编程。

2、开始

1)、打开PyCharm并配置相关设置

    打开PyCharm界面如下:

Python - 编写可视化界面(Python+PyCharm+PyQt)

    点击界面右下方的“Configure”下拉按钮,选择“Settings”,如下所示:

Python - 编写可视化界面(Python+PyCharm+PyQt)

    打开如下设置界面:

Python - 编写可视化界面(Python+PyCharm+PyQt)

    如上图所示,在“Project Interpreter”选显卡中选择本机所安装的Python版本,一般情况下,它会自动识别本机所安装的Python版本,如图所示,选择的为Python3.5;

    配置完成之后,点击“OK”,返回开始界面,

    选择“Create New Project”,选择工程路径和工程的名称,然后点击”Create”,然后弹出如下界面:

Python - 编写可视化界面(Python+PyCharm+PyQt)

    此时,工作环境已准备完毕;

3、编写

1)、首先,创建一个.py文件,暂命名为PyQt.py

2)、其次,需要导入PyQt的文件如下所示:

import sys
from PyQt5.QtWidgets import QWidget, QApplication

注意,如果提示找不到对应文件,请确保PyQt5的安装路径在环境变量中!

然后先添加主函数:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    sys.exit(app.exec_())

接下来就需要添加界面相关函数:

#class Example
class Example(QWidget):
    def __init__(self):
        super(Example, self).__init__()
        self.InitUI()

    def InitUI(self):
        self.btn = QPushButton("Dialog", self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.ShowDialog)

        self.le = QLineEdit(self)
        self.le.move(130, 22)

        self.setWindowTitle("Input Dialog")
        self.show()

    def ShowDialog(self):
        text,ok = QInputDialog.getText(self, "Input Dialog", "Enter your name:")
        if ok:
            self.le.setText(str(text))

如上代码所示,在Python中主要是通过类来生成界面的,在类中,可以进行界面的生成,控件的创建,创建控件的响应函数,connect控件与控件响应函数。

其中函数 __init__(self) 可以理解为该类的构造函数,其中界面的初始化在该部分执行;

函数 InitUI(self) 主要是生成界面控件;

当类创建完成后,只需要在主函数中调用该类即可。如下所示:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在以上的代码中,主要是在界面中添加了一个按钮(btn),一个编辑框(le),一个按钮响应函数(ShowDialog),其中在ShowDialog响应函数中打开了一个标准输入窗口,并将标准输入窗口中输入的值显示到编辑框(le)中。
Python - 编写可视化界面(Python+PyCharm+PyQt)  Python - 编写可视化界面(Python+PyCharm+PyQt)

结果:

Python - 编写可视化界面(Python+PyCharm+PyQt)

4、扩展

    在接下来做了一个更加复杂的例子,主要是模拟汇率的解算,界面主要如下所示:

Python - 编写可视化界面(Python+PyCharm+PyQt)

其中主要涉及了按钮、编辑框、Label、布局等 ,

与第一个例子写在了同一个文件中,可点击一下链接下载:

http://download.csdn.net/download/bailang_zhizun/10249579

5、最新版本配置方法

采用最新版本的Python、PyQt、Pycharm配置可视化编程环境。

首先先安装Python3.7,然后安装Pycharm2018.3,并配置python解释器为Python3.7的本地目录,接下来就是安装PyQt5.11。

安装PyQt5.11是采用pip+wheel文件安装的形式,下载网址:https://pypi.org/project/PyQt5/#files

关于pip的安装请参考https://blog.csdn.net/bailang_zhizun/article/details/84563095

把下载的PyQt5-5.11.3-5.11.2-cp35.cp36.cp37.cp38-none-win_amd64.whl文件放置到合适的位置。

打开CMD,按照以下形式输入安装命令:

Python - 编写可视化界面(Python+PyCharm+PyQt)

回车,pip就会自动安装该文件了:

Python - 编写可视化界面(Python+PyCharm+PyQt)

此时PyQt5.11就安装成功了。

可以通过以上的代码进行测试。

6、Ubuntu下python2.7安装pyqt5

上面记录的都是在windows+python3环境下pyqt5的安装。由于工作需要,需要在Ubuntu+python2.7环境下安装pyqt5,根据pyqt5的官网,pyqt5只有针对python3的安装包,而没有python2.7的,所以可以通过在线安装的方式安装,下面是Ubuntu+python2.7环境下pyqt5的安装:

在ubuntu中打开终端,直接输入:

$sudo apt-get install python-pyqt5

即可,安装完成之后,直接在代码编辑页面import PyQt5即可,亲测可用。

另外,上面这种方式好像还可以用于ubuntu+python3环境下pyqt5的安装,也是通过命令安装:

$sudo apt-get install python3-pyqt5

上面未经测试,但是应该没问题。

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145413.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月17日 下午1:40
下一篇 2022年5月17日 下午1:40


相关推荐

  • IIS防盗链:ISAPI Rewrite图片防盗链规则写法

    IIS防盗链:ISAPI Rewrite图片防盗链规则写法以下ISAPIRewrite已经在我的服务器上正常运作。经测试四种情况正常,即站内链接正常,白名单里的链接正常,盗链者链接屏蔽,搜索引擎链接正常。详细如下;一、完全屏蔽所有盗链来源的写法(如已有其它规则,则置于已有规则的上面)代码:RewriteCondHost:(.+)RewriteCondReferer:(?!http://\1.*

    2022年7月23日
    7
  • Qt入门-layout布局

    Qt入门-layout布局开发一个图形界面应用程序 界面的布局影响到界面的美观 在设计一个界面之前 应该考虑到开发的界面可能给不用的用户使用 而用户的屏幕大小 纵横比例 分辨率可能不同 界面还可能是可缩放的 程序应该可以适应这些变化 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 前面的程序中都是使用 setGeometry 方法定位控件的位置 这个方法比较笨拙 试想如果控件很多 布局这些控件需要编写大量的代码 幸运的是 QT 提供了更好的方法布局控件

    2026年3月18日
    2
  • mysql查看binlog日志内容

    mysql查看binlog日志内容一 binlog 介绍 binlog 即二进制日志 它记录了数据库上的所有改变 并以二进制的形式保存在磁盘中 它可以用来查看数据库的变更历史 数据库增量备份和恢复 Mysql 的复制 主从数据库的复制 二 binlog 格式 binlog 有三种格式 Statement Row 以及 Mixed 基于 SQL 语句的复制 statement basedreplic

    2026年3月19日
    3
  • js定时跳转网页_js 网页代码

    js定时跳转网页_js 网页代码效果如下:五秒跳完之后,转到百度的页面js代码如下:window.οnlοad=init;functioninit(){window.setTimeout(“tiaozhuan()”,5000);window.setInterval(“shijian()”,1000);//五秒后调用tiaozhuan}functiontiaozhuan(){location.replace(“http://www.baidu.com”);} functionshijian(){ var

    2022年8月12日
    11
  • 国产FPGA芯片替代选型需要注意的几点

    国产FPGA芯片替代选型需要注意的几点最近公司在进行 FPGA 国产化方案的准备工作 正在做市场的调研 也约了国内几家 FPGA 厂商的市场工程师来交流 关于 FPGA 我算是半路出家 毕业后做了一年左右的 MCU 开发 后来由于项目需要接触到 FPGA 开发 然后学习了 FPGA 之后就一直做 FPGA 相关的工作 其实我真正使用 FPGA 的时间也不过短短 4 年 电子电路开发学习精通 STM32 FPGA 实现流水灯 程序下载与擦除 IDE 安装与卸载 分享开源项目 板卡评测 学习笔记相关文章 可能不会经常更新 但每一篇都是精心编写 170 篇原创内容公众号本文来聊聊目前国

    2026年3月26日
    2
  • python 快速排序详解

    python 快速排序详解python 快速排序详解 defpartition arr low high i low 1 最小元素 索引 pivot arr high 选取最右边的数为基准 forjinrange low high 当前元素小于或等于 pivotifarr j lt pivot i i 1 有调换 i 的索引值加 索引

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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