XIVN1987 发表于 2018-10-30 17:11:32

分享一个PyQt5+QML版的串口助手代码示例


PyQt有两组独立的GUI开发API:传统的Qt Widget和新的基于QML/JS的Qt Quick

Qt Quick相对于Widget的主要优势是可以开发出布局更灵活的界面,比Widget更适合开发手机、嵌入式等非常桌面程序的GUI,,

为了体验一下Qt Quick的开发方式,所以就把之前的一个Widget写的串口助手用Qt Quick重新开发了一遍,,基本功能以及实现

总体感觉:Python和QML的交互还不太方便,,而且资料、示例代码很少,,希望Qt官方的Python绑定能做的更好吧

运行效果:



代码:

Github:https://github.com/XIVN1987/QmlSer

ywlzh 发表于 2018-10-30 18:06:00

QML 画UI 有拖拽的教程吗?
网上全是用代码写的。

用习惯了Widget 拖拽,找到对应接口,太方便了

XIVN1987 发表于 2018-10-30 18:22:31

ywlzh 发表于 2018-10-30 18:06
QML 画UI 有拖拽的教程吗?
网上全是用代码写的。




有Qt Quick Designer,,不过我没用,,因为:
1、功能不太好,据说qml复杂点儿的话Designer界面就会乱,,可能是QML太灵活了,Designer不太好做
2、Qt Quick Designer在全功能的Qt安装里面才有,,光安装包就2.4个G,,为了用个残废的设计器要装那么大个软件,,接受不能,,如果未来出现小体积的独立设计器,我倒是愿意试试

kinsno 发表于 2018-11-1 13:23:11

pyhon软件难拉到任何一个电脑小白的电脑里面,能否还能运行起来?

MAD_FISH 发表于 2018-11-1 13:30:48

lz有没有玩pyside2

XIVN1987 发表于 2018-11-1 14:09:05

kinsno 发表于 2018-11-1 13:23
pyhon软件难拉到任何一个电脑小白的电脑里面,能否还能运行起来?


可以用pyinstaller将python程序打包成.exe绿色软件发给别人用

打包后的软件最小5M(可以用Tkinter界面库);如果用了PyQt的话,打包成的.exe最小15M

下面这个帖子里有个别人用PyQt4写的软件打包后的程序,不到14M,,绿色免安装,,你可以下载体验下
发现一款非常易用的micropython编辑器:uPyCraft

XIVN1987 发表于 2018-11-1 14:10:32

MAD_FISH 发表于 2018-11-1 13:30
lz有没有玩pyside2


PySide2已经被Qt公司收编了,,未来可期

不过现在才是技术预览版,,等正式版了尝试下

关于以后 发表于 2018-11-1 14:33:06

好东西,值得学习!
谢谢。

Excellence 发表于 2018-11-1 16:16:15

谢谢分享

javenreal 发表于 2018-11-1 17:05:38

qml还不太完善,quick2.0里面的button居然无法修改前景色。

kinsno 发表于 2018-11-1 20:05:41

XIVN1987 发表于 2018-11-1 14:09
可以用pyinstaller将python程序打包成.exe绿色软件发给别人用

打包后的软件最小5M(可以用Tkinter界面 ...

micropython是挺好,但是太依赖于官方了,而且底层完全看不见,每次放一个BIN有啥用。。能不能让它象LWIP一样,或Freemodus一样,移值在任何一个片子上面呢,那就爽呆了。。不知道有没有这方面 移值源代码。。

XIVN1987 发表于 2018-11-1 20:25:51

kinsno 发表于 2018-11-1 20:05
micropython是挺好,但是太依赖于官方了,而且底层完全看不见,每次放一个BIN有啥用。。能不能让它象LWIP ...


micropython本来就是开源的啊,,我已经把它移植到两种芯片上了{:lol:}

如果是移植到Cortex-M4内核的单片机,最小移植工作量并不大,,主要的工作量其实是移植各种外设(这个基本上是体力劳动)

另外,CircuitPython是Adafruit公司的micropython移植版本,把upy移植到了Cortex-M0+内核上,芯片用的是Atmel的SAMD21

micropython源码:https://github.com/micropython/micropython

我的fork,增加了两个芯片的Port,SWM320和MT7687:https://github.com/XIVN1987/micropython/tree/master/ports

MT7687的移植能运行起来了,,BIN文件在这里:https://www.amobbs.com/thread-5698045-1-1.html?_dsign=91e4f2c6

接下来我打算给MT7687的移植添加WIFI功能,,不过以前没高过WIFI,,WIFI又比较复杂,,所以比较慢

kinsno 发表于 2018-11-1 21:14:13

XIVN1987 发表于 2018-11-1 20:25
micropython本来就是开源的啊,,我已经把它移植到两种芯片上了

如果是移植到Cortex-M4内核的 ...

1、如何移植到新的芯片上面去啊,给个教程链接吧。
2、你这个移值到M4上面去的源代码工程能共亨一下吗?是MDK的最好喽,,IAR的也可以。。哈哈。。不晓得这个要求过份不?





XIVN1987 发表于 2018-11-1 21:26:21

kinsno 发表于 2018-11-1 21:14
1、如何移植到新的芯片上面去啊,给个教程链接吧。
2、你这个移值到M4上面去的源代码工程能共亨一下吗? ...


1、没有教程,我也是读其他Port的代码一点儿点儿弄的
2、官方的移植都是用Makefile+GCC编译的,,没有Keil、IAR的工程,,

下面这个链接是我的fork,在其中我建立了qt creator的工程,可以方便读代码,,但编译还是要用makefile做,,

https://github.com/XIVN1987/micropython

另外可以用JLINK GDB Server和这个工程做调试,,调试方法可参考:https://www.amobbs.com/forum.php?mod=viewthread&tid=5685315&highlight=qt%2Bcreator&_dsign=05aa6fcc

XIVN1987 发表于 2018-11-1 21:29:31

kinsno 发表于 2018-11-1 21:14
1、如何移植到新的芯片上面去啊,给个教程链接吧。
2、你这个移值到M4上面去的源代码工程能共亨一下吗? ...


rt-thread把micropython移植到了他们的系统里,,好像他们把micropython弄到了Keil工程里,,不过我没弄过

kinsno 发表于 2018-11-1 21:39:19

XIVN1987 发表于 2018-11-1 21:29
rt-thread把micropython移植到了他们的系统里,,好像他们把micropython弄到了Keil工程里,,不过我没弄 ...

还是这个好,我找个时间去学习一下。。

gcc 好废事啊。。

chad_ouyang 发表于 2021-2-21 21:46:33

本人崇拜qt大神依旧,今天又过来看看大神的记录,以示激励!
页: [1]
查看完整版本: 分享一个PyQt5+QML版的串口助手代码示例