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. ASP.NET CORE 中用单元测试测试控制器

    之前用ASP.NET CORE做的项目 加了一个新功能,数据库加了个字段balabala.... 更新到服务器上,新功能测试正常,然后就没管了..... 今天客户说网站有BUG,某个页面打开后出错了, ...

  2. eclipse中项目jdk1.8刷新下就变成1.5的解决办法

    https://blog.csdn.net/qq_32814555/article/details/82803017 ***************************************** ...

  3. mybatis查询结果和接收的不一样

    记一次大坑:mybatis查询结果和接收的不一样,折腾我好几个小时. 先上代码:代码是要查询排名,sql执行的结果 SELECT b.operator_id, b.class_count, b.cla ...

  4. Spring-boot之 rabbitmq

    今天学习了下spring-boot接入rabbitmq. windows下的安装:https://www.cnblogs.com/ericli-ericli/p/5902270.html 使用博客:h ...

  5. SkyWalking

    介绍 SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performance Management系统.他被用于追踪.监控和诊 ...

  6. 如何在 Fiddler Script 中 自定义 修改 Request 、 Response

    Fiddler是一个http协议调试代理工具,方便进行http请求的拦截处理.改写请求.返回值等. 在Rules菜单下:  此次更改请求 头 ,so go to OnBeforeRequest 或者 ...

  7. 从0移植uboot(五) _实现串口输出

    串口作为一种非常简单的通信方式,才是嵌入式系统调试的王道,通过设置串口输出,我们可以将程序运行的情况直接通过串口线输出到屏幕上,对于这种异常重要的功能,uboot原生就提供了支持,但为此我们需要做一些 ...

  8. C# windows GDI+仿画图 绘图程序设计

    C# windows GDI+仿画图 绘图程序设计 1.介绍 这里分享一个简单的画图程序 原作者:author: ping3108@163.com 2.程序主窗体设计 3.程序设计 本程序工程使用VS ...

  9. Android Adb命令查看包名信息

    Android O 8.1.0 data/system/packages.listdata/system/packages.xmldata/system/package-usage.listdata/ ...

  10. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...