使用工具eric6

安装包地址:

http://eric-ide.python-projects.org/eric-download.html

1.需要安装python和pyqt为前提,然后安装eric
2.安装好后在 C:\Python27\Lib\site-packages\eric6 路径下找到 eric6.pyw ,打开eric6
3.第一次打开需要设置API等参数

4.使用qt编辑器开发ui界面

5.在eric内ui文件上右键编译窗体
6.生成对话框代码
计算器测试程序

# -*- coding: utf-8 -*-"""
Module implementing Dialog_calc.
"""from PyQt4.QtCore import pyqtSignature
from PyQt4.QtGui import QDialogfrom Ui_UI_calc import Ui_Dialogfrom PyQt4 import QtCore, QtGui
import sysclass Dialog_calc(QDialog, Ui_Dialog):"""Class documentation goes here."""lcdstring = ''operation = ''currentNum = 0prevlousNum = 0result = 0def __init__(self, parent=None):"""Constructor@param parent reference to the parent widget@type QWidget"""QDialog.__init__(self, parent)self.setupUi(self)self.action()def action(self):#定义信号和槽关系#按下数字执行的方法self.connect(self.pb0, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb1, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb2, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb3, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb4, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb5, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb6, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb7, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb8, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb9, QtCore.SIGNAL('clicked()'), self.buttonClicked)self.connect(self.pb_point, QtCore.SIGNAL('clicked()'), self.buttonClicked)#按下操作执行的方法self.connect(self.pb_plus, QtCore.SIGNAL('clicked()'), self.opClicked)self.connect(self.pb_sub, QtCore.SIGNAL('clicked()'), self.opClicked)self.connect(self.pb_mul, QtCore.SIGNAL('clicked()'), self.opClicked)self.connect(self.pb_div, QtCore.SIGNAL('clicked()'), self.opClicked)#按下清除执行的方法self.connect(self.pb_clear, QtCore.SIGNAL('clicked()'), self.clearClicked)#按下等于号执行的方法self.connect(self.pb_eq, QtCore.SIGNAL('clicked()'), self.eqClicked)def buttonClicked(self):#最多显示8位# print len(Dialog_calc.lcdstring)if len(Dialog_calc.lcdstring) <= 7 :Dialog_calc.lcdstring += self.sender().text()#第一个输入的是小数点时候替替换为0.if Dialog_calc.lcdstring == '.':Dialog_calc.lcdstring = '0.'#去掉多次输入小数点时候的错误elif str(Dialog_calc.lcdstring).count('.') > 1:Dialog_calc.lcdstring = str(Dialog_calc.lcdstring)[:-1]self.lcd.display(Dialog_calc.lcdstring)Dialog_calc.currentNum = float(Dialog_calc.lcdstring)def opClicked(self):Dialog_calc.prevlousNum = Dialog_calc.currentNumDialog_calc.currentNum = 0Dialog_calc.lcdstring = ''Dialog_calc.operation = self.sender().objectName()def clearClicked(self):Dialog_calc.lcdstring = ''Dialog_calc.operation = ''Dialog_calc.currentNum = 0Dialog_calc.prevlousNum = 0Dialog_calc.result = 0self.lcd.display('0')def eqClicked(self):if Dialog_calc.operation == 'pb_plus':Dialog_calc.result = Dialog_calc.prevlousNum + Dialog_calc.currentNumself.lcd.display(Dialog_calc.result)elif Dialog_calc.operation == 'pb_sub':Dialog_calc.result = Dialog_calc.prevlousNum - Dialog_calc.currentNumself.lcd.display(Dialog_calc.result)elif Dialog_calc.operation == 'pb_mul':Dialog_calc.result = Dialog_calc.prevlousNum * Dialog_calc.currentNumself.lcd.display(Dialog_calc.result)elif Dialog_calc.operation == 'pb_div':if Dialog_calc.currentNum == 0:self.lcd.display('Error')Dialog_calc.result = 0else:Dialog_calc.result = Dialog_calc.prevlousNum / Dialog_calc.currentNumself.lcd.display(Dialog_calc.result)Dialog_calc.currentNum = Dialog_calc.resultDialog_calc.lcdstring = ''def closeEvent(self, QCloseEvent):reply = QtGui.QMessageBox.question(self,u'警告',u'是否退出',QtGui.QMessageBox.Yes,QtGui.QMessageBox.No)if reply == QtGui.QMessageBox.Yes:QCloseEvent.accept()else:QCloseEvent.ignore()if __name__ == '__main__':app = QtGui.QApplication(sys.argv)mycalc = Dialog_calc()mycalc.show()sys.exit(app.exec_())

7.F2运行代码,当然也可以用PyCharm去写,比较习惯点。

转载于:https://www.cnblogs.com/Mysterious/p/7624693.html

PyQt4 UI设计和调用 使用eric6相关推荐

  1. MATLAB AppDesigner 设计UI界面中调用自定义函数

    在MATLAB AppDesigner设计UI界面过程中,如果直接在APPDesigner代码编辑框中编写代码,如代码量较大,会导致代码混乱的问题.使用调用函数的方法能够解决该问题. 本文将介绍MAT ...

  2. 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager实现欢迎引导页面

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8980917 本系列文章都会以一个程序的实例开发为主线来进行讲解,以求达到一个 ...

  3. 从Web借鉴UI设计

    用户体验已经成为衡量 应用软件质量的重要标准.在过去我们可能会惊叹于某个Web应用的华丽界面,现在,随着HTML5的强势登场,各类表现层技术及开发框架的发布,Web与 窗体应用的界限正在被逐渐模糊.虽 ...

  4. UI设计素材|app表单模板,临摹学习,有效提高设计水平!

    表格是所有移动互动的关键,它站在人和他们正在寻找的东西之间的桥梁.我们每天都使用表单来进行必要的在线活动.回想上一次你买了一张机票,预定了一个酒店房间或者网上购物,最可能是这些互动包含了一个填表的步骤 ...

  5. 提升UI设计界面高级感的小技巧

    在UI设计中,界面排版同样很重要,将有效的信息传递给用户这才是用户界面的功能,下面小千就给大家介绍五个能够提升你的设计高级感的小技巧,学到就是赚到! 1.强化层次结构来提升UI的清晰度 将必要的文本内 ...

  6. 费诺编码的gui页面设计_GUI设计和UI设计有什么区别?

    首先从技术的角度分析两者处于包含与被包含的关系. GUI=Graphical User Interface,是指在计算机出现后,在屏幕上使用图形界面来帮助(User)与机器打交道用的界面接口,泛指在计 ...

  7. Android UI设计之十一自定义ViewGroup,打造通用的关闭键盘小控件ImeObser

    2019独角兽企业重金招聘Python工程师标准>>> 转载请注明出处:http://blog.csdn.net/llew2011/article/details/51598682 ...

  8. 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例-转...

    一.SlidingMenu简介 相信大家对SlidingMenu都不陌生了,它是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作.很多优秀的应用都采用了 ...

  9. UI设计行业领域知识体系

    今天在百度搜"陈皮小桔",搜到自己的博客,就打开看看,以前写的都是前端的知识!CSDN里面基本都是技术类文章,而自从我做了UI设计师,基本上很少打开它,但是做了UI也可以继续我的博 ...

  10. Android UI设计经验分享,掌握设计技巧,让你的应用独树一帜

    Android UI渲染是指Android应用程序中的用户界面如何被绘制.Android UI渲染很重要,因为渲染过程直接影响应用程序的性能和用户体验. 当用户在Android应用程序中进行交互时,应 ...

最新文章

  1. 攻防世界Reverse第八题logmein
  2. 为类定义后构造函数的最小示例,使用 boost::signals2::deconstruct 作为它的工厂函数
  3. 如何实现一个线程安全的 ConcurrentHashSet ?
  4. 信息学奥赛一本通(1266:【例9.10】机器分配)
  5. div css网页设计源代码_HTML+CSS网页设计,企业网站服务项目布局样式
  6. 解决Pycharm中import时无法识别自己写的程序(转载)
  7. 大话css预编译处理(二)安装使用篇
  8. 2.3、getRunListeners().starting()
  9. 【实用工具】远程桌面工具
  10. 真正的创业者和伪创业者的区别在哪里?
  11. c语言电子时钟设计报告,电子时钟设计实验报告.doc
  12. MATLAB深度学习工具箱汇总
  13. 类818tu.c微信小说分销系统设计之定时模板消息源码
  14. 视频如何转换html链接地址,视频肿么生成html代码放到自己的网页去求解答法案...
  15. 谷歌大脑2017技术研究总结 | Jeff Dean执笔(附论文 数据集)
  16. asp.net调用51ditu
  17. 从0开始实现一个合成大西瓜
  18. python中*args和**kargs得用法总结
  19. ipad/iphone的浏览器,为啥可以播放优酷土豆等在线视频
  20. 编码分布式矩阵乘法(Coded Distributed Matrix Multiplication, CDMM)问题简单介绍

热门文章

  1. 厉害,96秒100亿,阿里双十一到底做了什么杠过亿级流量??
  2. 资深程序员是用五年时间攒够100万,老婆是关键
  3. 从0开始学习 GitHub 系列之「团队合作利器 Branch」 1
  4. 认证Authentication
  5. ocelot 配置文件的动态更新
  6. 用R语言实现对不平衡数据的四种处理方法
  7. Struts2与Ajax数据交互
  8. deepin安装Oracle jdk8,以及添加add-apt-repository命令支持
  9. 【自动化__持续集成】___java___代码非空指针
  10. 关于Java字符串的几个重点