在PyQt5里面玩Android 的Material Design风格

3 篇文章 0 订阅
3 篇文章 1 订阅

最近Google发布了Material Design设计语言,用Qt来玩玩桌面应用,Ok!Google It,找到了Github上有iBeliever 发起的QML版Material项目,是在Linux下玩的C++版

不过,QML跨平台跨语言嘛~


1.下载:

https://github.com/papyros/qml-material

https://github.com/papyros/qml-extras

现在早,才Release了一个版本,不过反正我要的功能很少,够我玩了


2.安装:

先安装python-3.4.1和PyQt5-5.4-gpl-Py3.4-Qt5.4.0-x32.exe,64位自己看着办

解压两个源码包,把里面Model文件夹里面的东西复制到PyQt5的QML模块路径里面,我的是在:

C:\Python34\Lib\site-packages\PyQt5\qml\Material



PyQt5的这一点很好,QML模块可以直接安装,扩展库什么的快极了


3.运行:

由于Qt5里面把各个模块都重新整理了一下,模块的删减使得以前Qt4里面的QML QWidget混合窗口代码用不了了,这里重新写了一下,参考了网上的C++的写法,在源码包里面的Demo文件夹里面建立main.py:

#!/usr/bin/env python

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQuick import QQuickView
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtQml,QtQuick

#app = QGuiApplication(sys.argv)
app = QtWidgets.QApplication(sys.argv)

engine = QtQml.QQmlApplicationEngine(QUrl('main.qml'))
topLevel = QtCore.QObject()
topLevel = engine.rootObjects()[0]

window = QtQuick.QQuickWindow()
window = topLevel

#widget = QtWidgets.QWidget()
#layout = QtWidgets.QVBoxLayout(widget)

#view = QQuickView()
#view.setSource(QUrl('main.qml'))
#view.show()

widget = QtWidgets.QWidget.createWindowContainer(window)

widget.show()

sys.exit(app.exec_())

代码多余部分自己整理一下吧~快运行( ▼-▼ ),运行之



棒极了!!!!!

等等,不对啊不对啊,啊啊啊啊,作者为何不给窗口的边框来一下啊,〒_〒,自己写多麻烦

大概是因为作者在Linux下窗口边框本身就漂亮吧,(♯`∧´),这几天把Linux删除了,过几天装回来再说喽

4.Else:

好像有个这样的错误

file:///C:/Python34/Lib/site-packages/PyQt5/qml/Material/ListItems/Standard.qml:
47:5: QML Label: Binding loop detected for property "width"

Google后并未解决,有人解决分享下~






  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值