程序员之路:python3+PyQt5+pycharm桌面GUI开发

http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html

先看效果:
图 1
没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想到,python也可以做出这样的界面,简直了!(图 1)
 
正文开始
 
一、安装python
 
为啥要说这个,我们打开pip,搜索:PyQt5,或者直接打开下面的连接:
 
https://pypi.python.org/pypi/PyQt5/5.9.1
 
图 2
 
可以看到(图2),PyQt5所支持的python版本是从3.5开始的,博主开始用的是3.4,一直装不上,瞎折腾了2小时^~^...
 
找一个python3.5以上的版本安装:
 
https://www.python.org/downloads/windows/
 
二、安装PyQt5
 
推荐使用pip安装:
 
pip3 install PyQt5
 
等待片刻,继续安装PyQt5-tools
 
pip install PyQt5-tools
 
三、配置pycharm
 
官网下载安装pycharm:https://www.jetbrains.com/pycharm/
 
1、点击:File -》Settings
 
图 3
 

2、Tools -》 External Tools  -》点击“+”号(图4)

(ps:下面是我配置好的,你的软件还没有很正常,继续往下看)

图 4

3、设置Qt Designer

修改三个地方,其他地方默认:
 
Name:Qt Designer
Programs:D:\Program Files\Python35\Lib\site-packages\pyqt5-tools\designer.exe
Working directory:$ProjectFileDir$
 
(ps:Programs参数需要修改为你电脑里边的“designer.exe”路径)(图5)
 
图 5
 

4、配置PyUIC

设置四个地方,其他可以默认(我也不知道怎么改,那就默认吧)
 
Name:PyUIC
Programs:D:\Program Files\Python35\python.exe
Parameters:-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$
 
(ps:Programs参数需要修改为你电脑里边的python“python.exe”路径)(图6)
 
图 6
 

四、使用Qt Designer

1、完成以上步骤之后,点击 Tools -》External Tools -》Qt Designer 启动我们的Qt Designer (图7)

图 7
 
2、启动后选择:Widget,建立空白的窗口(图8),点击 Create,其他默认就行
 
图 8
 

3、从左边 1区 拖拽,注意是“拖拽”控件到 2区,在 3区 中修改对应属性(图9),很像vs有木有

图 9
 

4、昨晚基本的界面设置之后,会看到同目录下生成了一个“.ui”的文件(图10)

图 10
 

5、右键 External Tools -》PyUIC ,将“.ui”文件转为“.py”文件(图11)

 
图 11
 

6、这时,如果一切正常,没有报错的话,会在同目录下生成对应的“.py”文件(图12)

图 12

7、将下面的代码,放到生成的“.py”文件,放到最后就行(注意缩进)

 
  1. if __name__=="__main__":
  2. import sys
  3. from PyQt5.QtGui import QIcon
  4. app=QtWidgets.QApplication(sys.argv)
  5. widget=QtWidgets.QWidget()
  6. ui=Ui_Form()
  7. ui.setupUi(widget)
  8. widget.setWindowIcon(QIcon('web.png'))#增加icon图标,如果没有图片可以没有这句
  9. widget.show()
  10. sys.exit(app.exec_())
 

8、运行启动,好了,恭喜你,开启了pythonGUI

 
本文参考了以下文章:
 
《【第一节】QtDesigner安装》 http://code.py40.com/2540.html
 
《【第二】用QtDesigner设计第一个界面》 http://code.py40.com/2561.html
 
《PyQt5+python3+pycharm开发环境配置 》 http://blog.csdn.net/a359680405/article/details/45074761
 
《PyQt5 教程》   http://code.py40.com/pyqt5/
 
 
 
添加main.py,因为ui文件命名为hello,所以import是hello

import sys
import hello
from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = hello.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
 
分类: [0021] QT

程序员之路:python3+PyQt5+pycharm桌面GUI开发(转)的更多相关文章

  1. Python3+PyQt5+PyCharm 桌面GUI开发环境搭建

    Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 一.安装python PyQt5所支持的python版本是不低于3.5版本 python3.5以上的版本安装:https://www ...

  2. 程序员之路:python3+PyQt5+pycharm桌面GUI开发

    http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想 ...

  3. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  4. Extjs4.2 rest 与webapi数据交互----顺便请教了程序员的路该怎么走

    这一章接着上一篇 对于Ext.data.Store 介紹 与总结,以及对以前代码的重构与优化 1.对于更新OnUpdate()函数的修改:先上代码: function OnUpdate(record) ...

  5. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  6. 程序员必看:如何降低APP软件开发的成本?

    程序员必看:如何降低APP软件开发的成本? 作为一名曾经的程序猿,一直想写一点东西给大家分享一下,今天终于动笔了,写写我们在开发的过程中怎样才能更快更好的进行开发,降低app开发成本.无论是个人开发者 ...

  7. 程序员之路:以Android证道

    大道三千,何以证道? 最近有私信.邮件给我咨询一些职业生涯规划的同学,我在这里以过来人的身份给大家一些建议. 任何行业,任何职位,无论高低,无论大小,都可以分为广博.精深两个方向. 精深自然指的是在某 ...

  8. 我的程序员之路:自学Java篇

    序章 时光疾驰,从事IT行业已两年有余. 16年11月开始自学Java,从此开启自学之路,后来实习期自学大数据.python.爬虫等,最终成长为一名平凡的程序员.回首望去,一路上的过往历历在目,有初学 ...

  9. 顶级c程序员之路 基础篇 - 第一章 关键字的深度理解 number-1

    c语言有32个关键字,每个关键字你都理解吗? 今天出场的是: auto ,  register,  static,   extern 为什么他们会一起呢,说到这里不得不谈到c语言对变量的描述. c给每 ...

随机推荐

  1. linux C sscanf()函数

    linux sscanf() 类似正则表达式,又不完全是正则表达式. 分割 ”/“ 或 "@" 或空格 要用 [^/] 例如: sscanf("iios/12DDWDFF ...

  2. 闭包传递(floyed)

    题目链接: https://cn.vjudge.net/contest/66569#problem/H 题目大意: n代表母牛的个数,m代表给定的信息的组数.每一组数包括a,b. 代表b崇拜a(突然发 ...

  3. 从前端和后端两个角度分析jsonp跨域访问(完整实例)

    一.什么是跨域访问 举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容.如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.你可以理解为两个域名之间不能跨过域名来发送请求或者请 ...

  4. ubuntu 14.04 软件中心闪退解决方案

    法一: gksudo gedit /usr/share/software-center/softwarecenter/ui/gtk3/views/lobbyview.py 注释下面这句话(注释使用#号 ...

  5. 【C++】获取URL中主机域名

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h& ...

  6. fnmatch模块的使用

    fnmatch模块的使用 此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格.fnmatch比较简单就4个方法分别是:fnmatch,fnmatchcase,filter, ...

  7. saltstack自动化运维系列②之saltstack的数据系统

    saltstack自动化运维系列②之saltstack的数据系统 grains:搜集minion启动时的系统信息,只有在minion启动时才会搜集,grains更适合做一些静态的属性值的采集,例如设备 ...

  8. rsa加密解密, 非对称加密

    2016年3月17日 17:21:08 星期四 现在越来越懒了.... 参考: http://www.xuebuyuan.com/1399981.html 左边是加密流程, 右边是解密流程 呃...有 ...

  9. OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  10. 视觉显著性检测(Visual saliency detection)相关概念

    视觉显著性检测(Visual saliency detection)指通过智能算法模拟人的视觉特点,提取图像中的显著区域(即人类感兴趣的区域). 视觉注意机制(Visual Attention Mec ...