PyQt5说明

  pyqt5 是一套 Python 绑定 Digia QT5 应用的框架。它可用于 Python 2 和 3。本教程使用 Python 3。Qt 库是最强大的 GUI 库之一。pyqt5 的官方网站 http://www.riverbankcomputing.co.uk/news

  pyqt5 做为 Python 的一个模块,它有 620 多个类和 6000 个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括 UNIX,Windows,Mac OS。pyqt5 是双重许可。开发者可以在 GPL 和商业许可之间进行选择。

  pyqt5 的类别分为几个模块,包括以下:

  • QtCore:包含了核心的非 GUI 功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME 类型、线程或进程。
  • QtGui:包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
  • QtWidgets:包含创造经典桌面风格的用户界面提供了一套UI元素的类。
  • QtMultimedia:包含的类来处理多媒体内容和 API 来访问相机和收音机的功能。
  • QtBluetooth:包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于 TCP 和 IP 和 UDP 客户端和服务器的编码,使网络编程更容易和更便携。
  • QtNetwork
  • QtPositioning:包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
  • Enginio:模块实现了客户端库访问 Qt 云服务托管的应用程序运行时。
  • QtWebSockets:包含实现 WebSocket 协议类。
  • QtWebKit:包含一个基于 Webkit2 图书馆Web浏览器实现类。
  • QtWebKitWidgets:包含的类的基础 webkit1 一用 于qtwidgets 应用 Web 浏览器的实现。
  • QtXml:包含与 XML 文件的类。这个模块为 SAX 和 DOM API 提供了实现。
  • QtSvg:提供了显示S VG 文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
  • QtSql:提供操作数据库的类。
  • QtTest:包含测试的功能,使 pyqt5 应用程序的单元测试

PyQt4和PyQt5的区别

  pyqt5 不向后兼容 pyqt4。pyqt5 有几个显著的变化。将旧代码调整到新库并不困难。有几个大的改变如下:

    • Python 模块已经重组。一些模块已经删除(qtscript),有的被分割成子模块(QtGui,QtWebKit)。
    • 新的模块作了详细的介绍,包括 qtbluetooth,qtpositioning,或 enginio。
    • pyqt5 只支持新型的信号和槽 handlig。电话 signal() 或 slot() 不再支持。
    • pyqt5 不支持 Qt 的 API 被标记为过时或陈旧的任何部分在 QT V5.0。

Demo

  本人曾写过一个数字货币搬砖的界面,效果如下图:

  界面的设计用的是 pyqt5,设计完成后使用命令  python -m PyQt5.uic.pyuic xxx.ui -o xxx.py  转换为python的代码

转换后的代码:

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

# Form implementation generated from reading ui file 'test7.ui'
#
# Created by: PyQt5 UI code generator 5.11.2
#
# WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(753, 744)
self.formLayoutWidget = QtWidgets.QWidget(Dialog)
self.formLayoutWidget.setGeometry(QtCore.QRect(180, 30, 321, 411))
self.formLayoutWidget.setObjectName("formLayoutWidget")
self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)
self.formLayout.setContentsMargins(0, 0, 0, 0)
self.formLayout.setObjectName("formLayout")
self.symbol_label = QtWidgets.QLabel(self.formLayoutWidget)
self.symbol_label.setObjectName("symbol_label")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.symbol_label)
self.symbol_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.symbol_LineEdit.setObjectName("symbol_LineEdit")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.symbol_LineEdit)
self.amount_label = QtWidgets.QLabel(self.formLayoutWidget)
self.amount_label.setObjectName("amount_label")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.amount_label)
self.amount_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.amount_LineEdit.setObjectName("amount_LineEdit")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.amount_LineEdit)
self.label_3 = QtWidgets.QLabel(self.formLayoutWidget)
self.label_3.setText("")
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.label_3)
self.rate_diff_label = QtWidgets.QLabel(self.formLayoutWidget)
self.rate_diff_label.setObjectName("rate_diff_label")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.rate_diff_label)
self.rate_diff_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.rate_diff_LineEdit.setObjectName("rate_diff_LineEdit")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.rate_diff_LineEdit)
self.side_label = QtWidgets.QLabel(self.formLayoutWidget)
self.side_label.setObjectName("side_label")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.side_label)
self.huobi_buy_gemini_sell = QtWidgets.QRadioButton(self.formLayoutWidget)
self.huobi_buy_gemini_sell.setObjectName("huobi_buy_gemini_sell")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.huobi_buy_gemini_sell)
self.binance_buy_gemini_sell = QtWidgets.QRadioButton(self.formLayoutWidget)
self.binance_buy_gemini_sell.setObjectName("binance_buy_gemini_sell")
self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.binance_buy_gemini_sell)
self.gemini_buy_huobi_sell = QtWidgets.QRadioButton(self.formLayoutWidget)
self.gemini_buy_huobi_sell.setObjectName("gemini_buy_huobi_sell")
self.formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.gemini_buy_huobi_sell)
self.gemini_buy_binance_sell = QtWidgets.QRadioButton(self.formLayoutWidget)
self.gemini_buy_binance_sell.setObjectName("gemini_buy_binance_sell")
self.formLayout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.gemini_buy_binance_sell)
self.buy_ApiKey_label = QtWidgets.QLabel(self.formLayoutWidget)
self.buy_ApiKey_label.setObjectName("buy_ApiKey_label")
self.formLayout.setWidget(11, QtWidgets.QFormLayout.LabelRole, self.buy_ApiKey_label)
self.buy_ApiKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.buy_ApiKey_LineEdit.setObjectName("buy_ApiKey_LineEdit")
self.formLayout.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.buy_ApiKey_LineEdit)
self.buy_SecretKey_label = QtWidgets.QLabel(self.formLayoutWidget)
self.buy_SecretKey_label.setObjectName("buy_SecretKey_label")
self.formLayout.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.buy_SecretKey_label)
self.buy_SecretKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.buy_SecretKey_LineEdit.setObjectName("buy_SecretKey_LineEdit")
self.formLayout.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.buy_SecretKey_LineEdit)
self.sell_ApiKey_label = QtWidgets.QLabel(self.formLayoutWidget)
self.sell_ApiKey_label.setObjectName("sell_ApiKey_label")
self.formLayout.setWidget(13, QtWidgets.QFormLayout.LabelRole, self.sell_ApiKey_label)
self.sell_ApiKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.sell_ApiKey_LineEdit.setObjectName("sell_ApiKey_LineEdit")
self.formLayout.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.sell_ApiKey_LineEdit)
self.sell_Secretkey_label = QtWidgets.QLabel(self.formLayoutWidget)
self.sell_Secretkey_label.setObjectName("sell_Secretkey_label")
self.formLayout.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.sell_Secretkey_label)
self.sell_Secretkey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.sell_Secretkey_LineEdit.setObjectName("sell_Secretkey_LineEdit")
self.formLayout.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.sell_Secretkey_LineEdit)
self.result_info = QtWidgets.QLabel(self.formLayoutWidget)
self.result_info.setText("")
self.result_info.setObjectName("result_info")
self.formLayout.setWidget(15, QtWidgets.QFormLayout.SpanningRole, self.result_info)
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(160, 10, 231, 19))
self.label.setObjectName("label")
self.gemini_currency_label = QtWidgets.QLabel(Dialog)
self.gemini_currency_label.setGeometry(QtCore.QRect(170, 580, 101, 20))
self.gemini_currency_label.setObjectName("gemini_currency_label")
self.gemini_usd_label = QtWidgets.QLabel(Dialog)
self.gemini_usd_label.setGeometry(QtCore.QRect(170, 610, 101, 20))
self.gemini_usd_label.setObjectName("gemini_usd_label")
self.exchange_currency_label = QtWidgets.QLabel(Dialog)
self.exchange_currency_label.setGeometry(QtCore.QRect(170, 640, 101, 20))
self.exchange_currency_label.setObjectName("exchange_currency_label")
self.exchange_usd_label = QtWidgets.QLabel(Dialog)
self.exchange_usd_label.setGeometry(QtCore.QRect(170, 670, 101, 20))
self.exchange_usd_label.setObjectName("exchange_usd_label")
self.result_label = QtWidgets.QLabel(Dialog)
self.result_label.setGeometry(QtCore.QRect(170, 470, 60, 16))
self.result_label.setObjectName("result_label")
self.trade_per_label = QtWidgets.QLabel(Dialog)
self.trade_per_label.setGeometry(QtCore.QRect(210, 550, 60, 16))
self.trade_per_label.setObjectName("trade_per_label")
self.trade_per_text = QtWidgets.QTextBrowser(Dialog)
self.trade_per_text.setGeometry(QtCore.QRect(280, 550, 121, 21))
self.trade_per_text.setObjectName("trade_per_text")
self.gemini_currency_text = QtWidgets.QTextBrowser(Dialog)
self.gemini_currency_text.setGeometry(QtCore.QRect(280, 580, 251, 21))
self.gemini_currency_text.setObjectName("gemini_currency_text")
self.gemini_usd_text = QtWidgets.QTextBrowser(Dialog)
self.gemini_usd_text.setGeometry(QtCore.QRect(280, 610, 251, 21))
self.gemini_usd_text.setObjectName("gemini_usd_text")
self.exchange_currency_text = QtWidgets.QTextBrowser(Dialog)
self.exchange_currency_text.setGeometry(QtCore.QRect(280, 640, 251, 21))
self.exchange_currency_text.setObjectName("exchange_currency_text")
self.exchange_usd_text = QtWidgets.QTextBrowser(Dialog)
self.exchange_usd_text.setGeometry(QtCore.QRect(280, 670, 251, 21))
self.exchange_usd_text.setObjectName("exchange_usd_text")
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(220, 440, 141, 32))
self.pushButton.setObjectName("pushButton")
self.bid_price_label = QtWidgets.QLabel(Dialog)
self.bid_price_label.setGeometry(QtCore.QRect(230, 490, 51, 20))
self.bid_price_label.setObjectName("bid_price_label")
self.bid_price_text = QtWidgets.QTextBrowser(Dialog)
self.bid_price_text.setGeometry(QtCore.QRect(280, 490, 121, 21))
self.bid_price_text.setObjectName("bid_price_text")
self.ask_price_label = QtWidgets.QLabel(Dialog)
self.ask_price_label.setGeometry(QtCore.QRect(230, 520, 51, 20))
self.ask_price_label.setObjectName("ask_price_label")
self.ask_price_text = QtWidgets.QTextBrowser(Dialog)
self.ask_price_text.setGeometry(QtCore.QRect(280, 520, 121, 21))
self.ask_price_text.setObjectName("ask_price_text")
self.net_test_button = QtWidgets.QPushButton(Dialog)
self.net_test_button.setGeometry(QtCore.QRect(40, 400, 113, 41))
self.net_test_button.setObjectName("net_test_button")
self.stop_btn = QtWidgets.QPushButton(Dialog)
self.stop_btn.setGeometry(QtCore.QRect(390, 440, 141, 32))
self.stop_btn.setObjectName("stop_btn")
self.amount_ps_label_2 = QtWidgets.QLabel(Dialog)
self.amount_ps_label_2.setGeometry(QtCore.QRect(420, 80, 228, 19))
self.amount_ps_label_2.setObjectName("amount_ps_label_2")
self.amount_ps_label = QtWidgets.QLabel(Dialog)
self.amount_ps_label.setGeometry(QtCore.QRect(420, 60, 264, 19))
self.amount_ps_label.setObjectName("amount_ps_label")
self.symbol_ps_label = QtWidgets.QLabel(Dialog)
self.symbol_ps_label.setGeometry(QtCore.QRect(420, 30, 168, 19))
self.symbol_ps_label.setObjectName("symbol_ps_label")
self.rate_ps_label = QtWidgets.QLabel(Dialog)
self.rate_ps_label.setGeometry(QtCore.QRect(420, 120, 214, 19))
self.rate_ps_label.setObjectName("rate_ps_label") self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.symbol_label.setText(_translate("Dialog", "品种"))
self.amount_label.setText(_translate("Dialog", "数量"))
self.rate_diff_label.setText(_translate("Dialog", "利率差"))
self.side_label.setText(_translate("Dialog", "买卖方向"))
self.huobi_buy_gemini_sell.setText(_translate("Dialog", "huobi买,gemini卖"))
self.binance_buy_gemini_sell.setText(_translate("Dialog", "binance买,gemini卖"))
self.gemini_buy_huobi_sell.setText(_translate("Dialog", "gemini买,huobi卖"))
self.gemini_buy_binance_sell.setText(_translate("Dialog", "gemini买,binance卖"))
self.buy_ApiKey_label.setText(_translate("Dialog", "买_ApiKey"))
self.buy_SecretKey_label.setText(_translate("Dialog", "买_SecretKey"))
self.sell_ApiKey_label.setText(_translate("Dialog", "卖_ApiKey"))
self.sell_Secretkey_label.setText(_translate("Dialog", "卖_Secret_key"))
self.label.setText(_translate("Dialog", "输入参数"))
self.gemini_currency_label.setText(_translate("Dialog", "gemini-品种余额"))
self.gemini_usd_label.setText(_translate("Dialog", "gemini-usd余额"))
self.exchange_currency_label.setText(_translate("Dialog", " 交易所-品种余额"))
self.exchange_usd_label.setText(_translate("Dialog", "交易所-usdt余额"))
self.result_label.setText(_translate("Dialog", "结果"))
self.trade_per_label.setText(_translate("Dialog", "交易进度"))
self.pushButton.setText(_translate("Dialog", "开始"))
self.bid_price_label.setText(_translate("Dialog", "买一价"))
self.ask_price_label.setText(_translate("Dialog", "卖一价"))
self.net_test_button.setText(_translate("Dialog", "点击测试网络"))
self.stop_btn.setText(_translate("Dialog", "停止"))
self.amount_ps_label_2.setText(_translate("Dialog", " binance:10usdt交易额"))
self.amount_ps_label.setText(_translate("Dialog", "注:最小交易量: huobi:eth--0.01,btc--0.001"))
self.symbol_ps_label.setText(_translate("Dialog", "注:输入币种名(btc | eth)"))
self.rate_ps_label.setText(_translate("Dialog", "注:输入小数,如0.18%即填0.18 "))

ui_demo

PyQt5简介及demo的更多相关文章

  1. Disruptor并发框架(一)简介&上手demo

    框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易.这个系统是建立在JVM平台上,其核心是一 ...

  2. 【JSONCpp】简介及demo

    一.JSON简介 JSON 一种轻量级的数据交换格式,易于阅读.编写.解析,全称为JavsScript ObjectNotation. JSON由两种基本结构组成 ①   名字/值 对的集合,可以理解 ...

  3. 国外源码精品-Android-PullToRefresh 简介与DEMO导入

    转载地址:http://my.oschina.net/cuitongliang/blog/170708 (一)&&http://my.oschina.net/cuitongliang/ ...

  4. Flask简介,安装,demo,快速入门

    1.Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug ...

  5. JWT令牌简介及demo

    一.访问令牌的类型 二.JWT令牌 1.什么是JWT令牌 ​ JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌. JWT的使用场景: 一种情况是webapi,类似之 ...

  6. Odata简介和Demo

    转:http://www.cnblogs.com/shanyou/archive/2013/06/11/3131583.html 在SOA的世界中,最重要的一个概念就是契约(contract).在云计 ...

  7. bluebird-api简介及demo

    var Promise = require("bluebird"); var fs = require("fs"); //方法Promise化 var read ...

  8. python的部分GUI模块简介tkinter、pyqt5(Qt Designer)

    笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的. 其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip insta ...

  9. 轻量级通信引擎StriveEngine —— C/S通信demo(附源码)

    前段时间,有几个研究ESFramework的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好友关系.也不 ...

随机推荐

  1. (8) MySQL主从复制架构使用方法

    一. 单个数据库服务器的缺点 数据库服务器存在单点问题 数据库服务器资源无法满足增长的读写请求 高峰时数据库连接数经常超过上限 二. 如何解决单点问题 增加额外的数据库服务器,组建数据库集群 同一集群 ...

  2. h5 扫描二维码打开app和点击下载功能的实现

    window.onload = function () { jumpToapp() } var browser = { isAndroid: function () { return navigato ...

  3. 用VSCode写Vue要用到的配置

    [本文出自天外归云的博客园] 文件-首选项-设置-打开settings.json-用户设置区域填写: { "workbench.colorTheme": "Monokai ...

  4. 浏览器神器--vimium

    自从学会了正确的坐姿,坐在电脑一整天腰也不酸了.背也不痛了,精神倍棒吃嘛嘛香   zuomeng.png 但奈何使用鼠标久了,手腕.肩膀依旧疼痛.偶尔逛知乎,看到有人推荐chrome浏览器的vimiu ...

  5. linux添加新磁盘和创建分区

    Linux磁盘概念及其管理工具fdisk:http://www.linuxidc.com/Linux/2016-08/134664.htm 一. 进入linux虚拟机 右键 open in termi ...

  6. 新内容转入github

    所有新内容已经转入 https://github.com/honggzb/Study-General https://github.com/honggzb/Study2016

  7. Swagger UI 传入对象类型参数

    Swagger要传送对象作为参数,只需添加@ModelAttribute或@RequestBody @RestController @RequestMapping("/api/json/re ...

  8. Mock an function to modify partial return value by special arguments on Python

    Mock an function to modify partial return value by special arguments on Python python mock一个带参数的方法,修 ...

  9. Cookie的简单实用

    作用域: 一个域名下的所有网页共用一套cookie. 几个封装好的工具方法: // 添加一个cookie function setCookie(name, value, iDay) { var oDa ...

  10. bootstrap 使用总结

    1.如何设置一行两列? <div class="container"> <div class="row"> <div class= ...