python界面设计实例qt_【PyQt5-Qt Designer】PyQt5+pyecharts 实现GUI界面的数据可视化展示...

先用纯Python代码写一个简单的小案例:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDk1MDE4LzIwMTkwMS8xNDk1MDE4LTIwMTkwMTIxMTkwODAwNjQwLTIwNTc4OTg3MTYucG5n.jpg

from PyQt5.QtCore import QUrl

from PyQt5.QtWidgets import QApplication,QWidget,QHBoxLayout,QFrame

from PyQt5.QtWebEngineWidgets import QWebEngineView

import sys

class Stacked(QWidget):

def __init__(self):

super(Stacked, self).__init__()

self.initUI()

self.mainLayout()

def initUI(self):

self.setGeometry(400,400,800,600)

self.setWindowTitle("demo1")

def mainLayout(self):

self.mainhboxLayout = QHBoxLayout(self)

self.frame = QFrame(self)

self.mainhboxLayout.addWidget(self.frame)

self.hboxLayout = QHBoxLayout(self.frame)

self.myHtml = QWebEngineView()

url = "http://www.baidu.com"

#打开本地html文件

self.myHtml.load(QUrl("file:///D:/360Downloads/Python编程/数据分析+数据可视化/pyecharts/PyQt5+pyecharts/bar1.html"))

# self.myHtml.load(QUrl("bar1.html")) #无法显示,要使用绝对地址定位,在地址前面加上 file:/// ,将地址的 \ 改为/

#打开网页url

# self.myHtml.load(QUrl(url))

self.hboxLayout.addWidget(self.myHtml)

self.setLayout(self.mainhboxLayout)

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Stacked()

ex.show()

sys.exit(app.exec_())

案例2:使用Eric6-Qtdesigner完成界面,再重写事件响应

效果如下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDk1MDE4LzIwMTkwMS8xNDk1MDE4LTIwMTkwMTIxMTkwMzU4MDYwLTE1MzA1NzUxNTIuZ2lm.jpg

参考:

https://www.cnblogs.com/jyroy/p/9457882.html

https://blog.csdn.net/La_vie_est_belle/article/details/84837174

https://www.cnblogs.com/zxpo/p/7562968.html

ps:

用的结构是左边一个QListWidget + 右边QStackedWidget,将QWebEngineView加在QStackedWidget里面的QFrame里面(用的pyecharts做的数据可视化 生成的html文件,直接嵌入在GUI界面中)

注意:

PyQt5 最新版本之后统一使用 :

from PyQt5.QtWebEngineWidgets import QWebEngineView

试了很多次 QStackedWidget.addWidget(self.browser) 总是出错,故在QStackedWidget 里面嵌套了一个QFrame,再把self.browser 添加到QFrame里面

解决 No module named PyQt5.QtWebKitWidgets

原因:在 PyQt 5.6(+) 版本中, 新增 QtWebEngineWidgets 代替QtWebKitWidgets。

完整代码:

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

# Form implementation generated from reading ui file 'D:\360Downloads\Python编程\数据分析+数据可视化\pyecharts\PyQt5+pyecharts\Qt设计师\Stack_Widget.ui'

#

# Created by: PyQt5 UI code generator 5.11.3

#

# 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(967, 728)

Dialog.setSizeGripEnabled(True)

self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Dialog)

self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)

self.horizontalLayout_2.setSpacing(0)

self.horizontalLayout_2.setObjectName("horizontalLayout_2")

self.frame = QtWidgets.QFrame(Dialog)

self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)

self.frame.setFrameShadow(QtWidgets.QFrame.Raised)

self.frame.setObjectName("frame

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值