OS X EI Capitan

Python 3.5.1

PyQt 5.5.1

PyCharm 5.0.1

前言

在PyQt5系列教程的第一篇h50218157,我们已经搭建好了开发环境,今天,我们就用Python开发第一个Qt GUI程序,让大家感受下Qt开发的魅力,熟悉下Qt开发GUI程序的一般流程。

制作程序UI界面,一般会有2种方法,利用UI制作工具和纯代码编写,像移动开发中的Android和iOS都是这样,在PyQt5中,我们也有这么2种方式。

QtDesigner工具简介

QtDesigner是专门用来制作Qt程序UI界面的工具,它使用起来非常简单,只要通过拖拽和点击就可以完成复杂的界面设计,而且还可以随时预览查看效果图。

其中,区域1是UI界面制作导向,QtDesigner为我们提供了一些常用模块,非常方便;区域2是UI控件列表;区域3是控件属性列表;区域4是Action Editor编辑列表;区域5信号和槽的编辑列列表;区域6是资源处理窗口。

第一个PyQt5程序

说了这么多,还不如来动手实践一下。

这个是我们第一个PyQt5项目的界面效果图,需要实现的是当点击界面上的按钮时,弹出一个提示框,提示框内显示一串文字。

好了,目标定好了,马上开始去实现它。

QtDesigner设计UI

创建一个基于Main Window模块的UI文件,取名叫firstPyQt5.ui。从Widget Box中找到(也可以)Push Button,将它拖拽到工作空间里,调整位置,在Button上输入文字,调整字体及大小,这些都可以在Property Editor里操作。按钮点击弹框的操作会牵出Qt里非常重要的一对概念,即信号和槽(signal and slot),关于这个我打算再开一篇博文细讲。现在你只需要知道slot就是一个函数,如果一个signal和一个slot绑定以后,那么signal被触发,slot就会被执行。

那么问题来了,怎么在QtDesigner里绑定signal和slot呢?打开菜单栏里的Edit—>Edit Signals/Slots,然后光标移到按钮上点击拖拽,这时会弹出一个编辑框

因为是点击,所以signal选择clicked(),slot函数现在还没有,我们就点击Edit新建一个,叫firstPyQt5_button_click()

为了演示一下资源文件的使用,这里导入两张图片,一张给主窗口,另一张给帮助菜单项里的Action。

在QtDesigner引用资源文件之前,需要先准备一个qrc文件,它跟xml文件比较类似,用来制定资源文件的路径

qt.png

penguin.jpg

接下来就可以在QtDesigner的Resource Browser里倒入qrc文件,这样qrc文件中描述的资源就可以使用了

将firstPyQt5.ui转换成python代码

非常简单,通过Qt提供的命令行工具pyuic5就可以轻松实现

pyuic5 -o firstPyQt5.py firstPyQt5.ui

创建PyCharm工程

新建一个新的python文件main.py,代码如下

# -*- coding: utf-8 -*-

__author__ = 'djstava@gmail.com'

import sys

from PyQt5.QtWidgets import QApplication , QMainWindow

from firstPyQt5 import *

if __name__ == '__main__':

'''

主函数

'''

app = QApplication(sys.argv)

mainWindow = QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

接下修改下firstPyQt5.py文件,主要是去实现slot函数,因为之前在QtDesigner里没有实现,让它弹出一个消息框

def firtPyQt5_button_click(self):

QtWidgets.QMessageBox.information(self.pushButton,"标题","这是第一个PyQt5 GUI程序")

最后运行下工程

这里一般将ui文件单独存成一个文件,便于更新。

qt designer python显示_请问在python怎么使用qtdesigner设计的ui?相关推荐

  1. 有没有必要买python课_请问自学 Python 有必要买课程吗?

    既然说到了找工作,那肯定是要去培训班的. 网上优质.实用的免费课程有很多,但都是基础教程,真正能找到Python正式程序员水平的课程,根本没有! 那些高赞回答中的教程中高阶部分,也是收费教程!或者看书 ...

  2. python电子英汉词典显示_如何使用python为Linux打造一款命令行下的在线英汉词典...

    项目说明 : 在linux终端下有时候遇到一个想查询的英语单词 , 但是不想打开浏览器去谷歌或者百度去搜索 , 因此就写了这个基于爬虫的单词翻译工具 , 实现原理很简单 , 基本开发已经完成 ,总共有 ...

  3. 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程

    学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...

  4. 2018年python薪资_最好的Python:2017和2018年至今我最喜欢的文章集

    2018年python薪资 我打算发布此收藏集 (My intention with publishing this collection) Last year I only used Medium ...

  5. python股市_如何使用python和破折号创建仪表板来主导股市

    python股市 始终关注大局 (Keep Your Eyes on the Big Picture) I've been fascinated with the stock market since ...

  6. 少儿编程python教材_少儿编程|Python环境安装

    一.为什么要学Python? 小学 山东,浙江,北京地区小学已将Python内容纳入教材 高中 浙江省已将信息技术教材编程语言替换为Python 大学 计算机二级考试加入"Python 语言 ...

  7. python程序_正确配置Python应用程序

    让我们来讨论一下如何配置Python应用程序,特别是那些可能存在于多个环境中的应用程序--开发环境.模拟环境.生产环境等等-- 应用程序中使用的工具和框架并不是特别重要,因为我将在下面概述的方法是基于 ...

  8. python 切片_全面解读Python高级特性切片

    大家好,欢迎来到Crossin的编程教室! 众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组-)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slic ...

  9. python卸载_手把手教Python环境安装

    Anaconda集成环境 Python3.7 如果是linux环境包括MacOs,系统环境中会默认安装python2.7. 尽量量不不要卸载linux环境中的默认python环境,直接安装Python ...

最新文章

  1. Occupations(表分割问题)
  2. Struts2 随笔1
  3. python 项目中的requirements.txt文件
  4. 电脑键盘怎么代替鼠标_今日电脑展上展出的鼠标、键盘、耳机
  5. PMO在组织结构中的作用
  6. 意大利_【解读】去意大利留学,一定要学意大利语吗?意大利语难吗?
  7. 商务办公管理咨询服务响应式模板
  8. groovy怎样从sql语句中截取表名_SQl-查询篇
  9. antlr 可以用java写吗_java – 我们可以用ANTLR定义一个非上下文语法吗?
  10. CSS Day04 css核心基础
  11. 计算机系统基础lab2(二进制炸弹实验)
  12. 如何将图片转成Excel表格
  13. 新西兰大学计算机,新西兰大学计算机排名
  14. Minimal API in .NET 6 Using Dapper and SQL - Minimal API Project
  15. snapchat 登录不上_如何在Snapchat上阻止某人
  16. Qt小游戏CoinFlip翻金币
  17. 决策树可视化以及数据所要的处理(查漏补缺)
  18. 阿里云在家实践计划主机申请教程
  19. 获取对话框当前cfont_获取对话框当前cfont_MFC设置对话框、字体对话框、颜色对话框(转)...
  20. 老李分享:什么是好战略

热门文章

  1. FICO年结完全手册
  2. BI工具升级动态增量新功能,让大数据量入集市更便捷
  3. 王兴最好的半年结束了
  4. 重庆职高统考c语言,2021年重庆市中职毕业生参加高职分类考试招生文化素质测试 考试说明...
  5. linux怎么监控守护进程,linux shell脚本守护进程监控svn服务
  6. 根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源
  7. 计算机争夺战作文,电脑争夺战作文600字
  8. 切换日期_2.4.14-切换时区分析
  9. php管道邮件,php进程通信-PIPE管道通信
  10. 利用宝塔linux面板+苹果CMS搭建电影网站(二)网站的配置+电影资源的爬取上传