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_())

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

  1. 程序员之路:python3+PyQt5+pycharm桌面GUI开发(转)

    程序员之路:python3+PyQt5+pycharm桌面GUI开发 http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错 ...

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

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

  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. 【nginx】nginx的工作模式和信号量控制

    nginx是一个多进程/多线程高性能web服务器,在linux系统中,nginx启动后会以后台守护进程(daemon)的方式去运行,后台进程包含一个master进程和多个worker进程(这个数量可以 ...

  2. ubuntu不能联网的问题

    控制面板\网络和 Internet\网络和共享中心-->更改>配器设置-->以太网-->右键属性-->共享-->允许其他网络用户通过此计算机的internet连接来 ...

  3. FreeNAS:创建 CIFS 匿名共享

    第一部分:数据集权限设定 浏览器访问 FreeNAS 系统的 WebGUI 管理界面,点选 “Storage” 存储图标打开存储选项卡,在卷列表中点选用于匿名共享的数据集,如有需要,也可以自行创建新的 ...

  4. Gym - 101350G Snake Rana(容器原理)

    Old Macdonald wants to build a new hen house for his hens. He buys a new rectangular area of size N  ...

  5. (二分查找 拓展) leetcode 34. Find First and Last Position of Element in Sorted Array && lintcode 61. Search for a Range

    Given an array of integers nums sorted in ascending order, find the starting and ending position of ...

  6. JavaProperties类、序列化流与反序列化流、打印流、commons-IO整理

    Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: 1.Hashtable的子类 ...

  7. hotplug/mdev机制

    目录 hotplug/mdev机制 框架 kobject_uevent_env mdev_main make_device mdev.conf 配置文件学习 更改属性 @:创建设备节点之后执行命令 $ ...

  8. git && gitlab 使用

    安装略过 使用 基于公钥的认证登录,方便对用户进行权限控制 useradd -s /usr/bin/git-shell testgit #创建一个用户 或者直接useradd testgit 然后去/ ...

  9. 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字

    一. 各类数据结构比较及其线程安全问题 1. Array(数组): 分配在连续内存中,不能随意扩展,数组中数值类型必须是一致的.数组的声明有两种形式:直接定义长度,然后赋值:直接赋值. 缺点:插入数据 ...

  10. [物理学与PDEs]第3章习题2 仅受重力作用的定常不可压流理想流体沿流线的一个守恒量

    设定常 (即 $\cfrac{\p {\bf u}}{\p t}={\bf 0}$).不可压缩 (设 $\rho=1$) 的理想流体所受的体积力仅为重力. 又设磁场满足条件: $({\bf H}\cd ...