打算自己写个方便自己的工具箱之类的玩意,想做成加速球那种透明自绘窗口,悬浮在桌面上
功能逻辑打算用 python 或 c++,但是 ui 部分就不知道选什么了:
1
whi147 2019-12-01 12:52:44 +08:00
duilib,比较好用
|
2
yulihao 2019-12-01 13:28:59 +08:00
我无脑推荐 Qt
|
3
FrankHB 2019-12-01 14:52:47 +08:00
你这是只打算用 Win32 ?一次性方案?还不如自己日 UpdateLayeredWindow 了。
|
4
FrankHB 2019-12-01 14:55:59 +08:00
我自己用的……demo:
https://github.com/FrankHB/YSLib/tree/master/YDE 但是现阶段没提供工具基本比 Qt 蛋疼(虽然疼的地方不一样)。 其实 Qt 也就是那么几个 dll 嘛,,, |
5
Jirajine 2019-12-01 15:14:40 +08:00 via Android
这种需求 Qt 再合适不过。不觉得哪里惨不忍睹,就那几个 dll,无论打安装包还是绿色版压缩包都没有丝毫问题,如果你非要“单文件”的话那套个自解压就是。
为了省这几十 M 体积额外付出的时间成本高多了。 |
6
missdeer 2019-12-01 16:57:59 +08:00
Qt 静态编译,也就一个 exe 啊
|
7
zjyl1994 2019-12-01 17:18:26 +08:00
Qt 吧,如果觉得零碎文件多,有专门做绿色软件的工具,可以把运行库和本体压成一个 exe
|
8
zuoshou 2019-12-01 17:33:58 +08:00 via Android
可以的胸弟
|
10
AAdalao OP @missdeer 我接触的 qt 主要是 pyqt5,没用过 qt creator 和 qmake,编译都是靠 pyinstaller,编出来的都很惨,拖家带口的。。
|
11
salamanderMH 2019-12-01 19:42:31 +08:00
WPF 也简单的,UI 部分就是学个 XML,之前做个项目: https://github.com/salamander-mh/SalamanderWnmp
|
12
cyrbuzz 2019-12-01 20:21:28 +08:00
PyQt 用 pyinstaller 可以做单 exe 的打包。
|
13
yujincheng08 2019-12-01 21:10:20 +08:00 1
Qt 静态编译(推荐用 MSYS2 弄静态编译环境,很快),再用 UPS 压缩一下,最后也就几兆的东西
|
14
ysc3839 2019-12-01 23:36:47 +08:00 via Android
体积小和功能全很难同时拥有。
一定要追求体积的话,最终可能会变成自己写了一大堆界面渲染的代码,还毫无扩展性(比如说界面布局都写死在代码中)。 具体选择哪种方案还是看你想不想重复造轮子了。 选择 C# WPF 可以让最终可执行文件的体积比较小,不过我认为不能算真的小,因为大部分代码在 .Net Framework 里面。 关于第四点,你的理解可能有误,DirectUI 大概是指直接在画布上绘图,而不使用系统提供的 UI 组件(大概可以理解成 Web 开发不使用 html element,而是用 canvas 绘图)。 Qt , duilib 和 WPF 都是使用 DirectUI 的界面框架。 |
15
augustheart 2019-12-02 11:35:37 +08:00
如果你最后想选 duilib 的话,不用想多,都是大同小异。只是自己的项目的话随便找个用就是了。
反正你用哪个版本的 duilib 最后都要修 bug,那么简单的代码看得懂 c++都能修。 |
16
augustheart 2019-12-02 11:37:14 +08:00
如果你只是要个加速球,直接 updatelayeredwindow 就行了,用不上界面库的。
前面 LayeredWindow,后面上 DirectX 渲染,小球想怎么转就怎么转 |
17
AAdalao OP @augustheart 想用 dui 是看上自绘自由度高,但又不想手撸组件,改天想加个 tableview 发现没有就坑死自己了
|
18
augustheart 2019-12-02 14:29:26 +08:00
@AAdalao 你先想清楚你到底要拿界面库做什么啊。如果只是做个加速球,我的看法就是不要浪费时间研究界面库。直接 api 上就行。
顺便,duilib 做 tabview 还是比较容易的,因为代码简单,就算没有的控件自己倒腾一下也出来了。实际上 duilib 自带控件全是白板(没有任何预置的样式),都得自己从图片做素材。 |