邊隻lang 寫GUI program 最好?

115 回覆
1 Like 50 Dislike
2022-01-07 21:23:06
有 好勁咪有同要學好耐
2022-01-07 21:30:44
寫過java , python同c++既gui, C# wpf 一定係最好,易寫同靚
佢有google material design
http://materialdesigninxaml.net/
2022-01-09 18:34:10
proton native其實係咪已經冇咗人support,我見佢github入面已經2年冇人更新過
2022-01-09 18:43:05
C# la
2022-01-09 18:54:13
Python, .net
2022-01-09 18:54:15
其實C#有個缺點,就係啟動嗰一下慢,如果唔介意呢點其實都ok
2022-01-09 18:55:56
用埋Qt Designer仲好
2022-01-09 19:01:33

但對比python, js/ electron黎講佢唔算慢
要再快啲就要上C++,但唔易寫
2022-01-09 19:48:02
寫C++真係要頭腦好清晰,我覺得警覺醒要比C#提升10倍,尤其是涉及到pointer,雖然話而家有smart pointer可能解決咗唔少問題,但係都要留神,同埋好彩而家啲IDE好咗
2022-01-10 05:52:15
free 漏小事啦
free 多先灰呀
2022-01-10 10:27:00
QT係正

不過好貴
2022-01-10 11:17:12
signal slot功能非常強大
2022-01-10 11:37:57
師兄好有經驗
2022-01-10 14:01:49
Free漏唔小事,當要做一啲重複嘅動作,做漏一步都塞爆咗你個memory,當你個gui畫面去到一個freeze咗嘅狀態,而且個mouse變loading,你就知瀨咗嘢,跟住你就要慢慢喺成堆code入面搵邊一句漏咗,簡直係地獄,搵到懷疑人生 問題係你又必須要搵到佢出嚟,因為嗰樣重複係重要功能嚟
2022-01-10 14:19:17
c#
2022-01-10 14:42:00
諗起呢篇文
https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98125

This sparked an interesting memory for me. I was once working with a customer who was producing on-board software for a missile. In my analysis of the code, I pointed out that they had a number of problems with storage leaks. Imagine my surprise when the customers chief software engineer said "Of course it leaks". He went on to point out that they had calculated the amount of memory the application would leak in the total possible flight time for the missile and then doubled that number. They added this much additional memory to the hardware to "support" the leaks. Since the missile will explode when it hits its target or at the end of its flight, the ultimate in garbage collection is performed without programmer intervention.
2022-01-10 15:47:04
Visual Basic
2022-01-10 22:19:48
咪就係
free 漏嗰陣 debug 容易好多,你睇返多餘啲 memory 入面裝住啲乜,搵下佢喺邊度 allocate 通常都有啲眉目

free 多咗呢⋯ 通常係唔知點解周圍亂咁 crash

當然你唔會知道邊支 pointer free 多咗。如果你用埋 electric fence, valgrind 呢啲都用埋都唔知咩事就
2022-01-10 23:01:36
識玩一定喺 2022 年寫 Visual Basic
2022-01-11 10:37:38
Gtk用C寫,不過聽講好難寫,而且windows入面唔係用原生控件,而且慢少少同唔太穩定,可能比較適合返linux嗰邊

http://blog.udn.com/mobile/keithmin/679610
2022-01-11 11:12:22
Qt5入面啲Windows控件本來佢唔係直接用native原生,雖然佢整得已經好似,但唔係直接用win32 api,只係照佢個樣畫出嚟,不過去到Qt6嘅Qt Quick,佢好似真係開始直接用原生windows控件,不過由於而家先開始整緊,所以佢寫明唔係全部都support,某啲位都重develop緊

https://doc-snapshots.qt.io/qt6-dev/qtquickcontrols2-windows.html

因為佢之前嘅控件都係畫上去,所以比起win32 api同wxWidgets都係慢啲
2022-01-11 11:18:41
The goal of the Windows style is to for the controls look and feel as similar as possible to the native controls on Windows. The style will follow the theme and colors configured globally from Windows Settings, and does not come with a separate customization API on top of that.

唔好意思睇錯咗,原來Qt6佢都只係畫出嚟,都只係想盡量做到同原生差唔多樣 可能只係講緊qt quick嗰part開始整,同以前qt widgets咁
2022-01-11 12:03:52
Qt你想用商業版功能同想用static build先要付費,但你一般自用可以用opensource community license版本,係免費的

不過我承認Qt有好多license嘅位要留意,例如佢opensource version入面有啲工具同libraries係用GPL license,而有啲係LGPL嘅

如果你用咗GPL license嘅元件而發布distribute畀其他人用,人哋係有權要你opensource你寫嘅所有code嘅,點解會咁呢,因為GPL嘅特性係只要你有用過其中一樣嘢係GPL嘅,咁你成嚿嘢都會變成GPL,當你嚿嘢變成GPL咁就一定要opensource出執,簡單啲嚟講,就好似一個傳一個感染散播出去咁,當人哋如果引用你個GPL軟件,咁人哋都一定要opensource佢自己嗰個出去

所以你而家會見到好多嘢係用緊GPL license,就係因為咁嘅原因,呢樣嘢嘅好處係對opensource嘅軟件可以發展得更好更繁盛,例如你見到github好多opensource嘅軟件,而亦都可以fork佢哋,根據返呢個base去整更多唔同版本出嚟,加更多功能落去,發展得更好

但係由於佢太過harsh喇,因為總有啲人係唔想公開自己嘅code,例如以賺錢為目的嘅program,如果公開晒出去人哋就好容易複製出嚟,所以後尾整咗隻寬鬆啲嘅license出嚟叫LGPL,簡單啲嚟講就係本來嘅GPL你一調用佢就要opensource你寫嘅嘢出去,但係LGPL就係你調用佢嘅時候只要你只係調用而唔係改動佢,你寫嘅嘢就可以閉源,不過要dynamic build,如果你想static build,就一定要商用,static build即係話直接將全部嘢包成一個exe,唔需要嗰堆dll,而dynamic build就要靠堆dll

其實有幾種發佈模式

第一,你如果用LGPL嘅形式,你可以直接將嗰堆dll同你個exe加埋license聲明一齊打包zip再發佈出去

第二,有人會只係發佈佢個exe,然後叫你去官網download堆dll

第三,有人會直接opensource堆code出去,叫你download堆dll之後叫你自己用嗰堆code嚟build

商用嗰啲,因為你畀咗錢,所以你點做都得,不過通常都會寫埋係用Qt寫

至於可能你會問點解上面有啲方法唔直接包埋堆dll而係叫你自己去download呢?因為有時佢哋費事牽涉喺license問題,例如有個好出名嘅例子,就係Android Studio你喺安裝嘅時候,你會發覺喺之前佢會叫你自己去oracle官網度download jdk先再返過嚟安裝,其實道理係一樣嘅,當然呢啲係講緊啲非常大型嘅項目先有咁嘅考慮,小型嗰啲應該唔會理你

不過上面所寫嘅發佈係指緊你放上網畀其他人download或者賣畀其他人,散播出去,如果係個人自用或者純粹畀朋友用應該唔算係,如果係公司內部使用我估都可以,但都係問吓公司會比較好

因為佢官網係咁寫

Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL. See the comparison chart for details. The Qt open source licensing is ideal for use cases such as open source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met.


Python方面,PySide係有LGPL,而PyQt係GPL,所以如果PyQt要閉源就要買商業license,如果唔係就要開源,當然都係嗰句,你自用唔放出去其實冇問題,但你放出去就要opensource,除非你買license
2022-01-11 14:53:45
c/cpp寫到嘅嘢 理論上python同lua都寫到
只係最新feature未必有
睇language binding lib supprt程度
procedural 嚟講gtk開箱即用係簡單啲
event driven / mvvm just go Qt or Qt quick
2022-01-18 00:23:59
話說我呢排google緊嘅時候無意中有人介紹一隻語言叫做AutoIt,話以前係用嚟整Windows gui,有冇人用過?喺1999年開始有
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞