[討論] 想請教對於做 GUI 的建議!

作者: HenryLiKing (HenryLiKing)   2017-07-21 23:16:38
大家好!
問題原由:
我是一名大二生,最近在學校資訊相關的處室打工
那邊的老師出了一個請求(請我幫忙(??))
想請我寫一個開機後會自己啟動的登入介面
跟我說希望我不要用到任何 Framework, 因為希望執行速度可以快一點
想請教的問題:
我大一時有好奇去學過一點點 QT (拉拉介面設定觸發事件這樣)
但是就我理解 QT 是不是也算是 Framework 的一種呀?
如果是的話,想請問大家 要怎麼在不用任何Framework 的情況下
用 C++ 寫一個如此的介面呢?
跟我介紹關鍵字或是方向也可以(我怕被當作伸手文
因為我聽到要做 這樣的介面時腦海裡第一個想到的就是QT!(但這是framework阿!!)
還請大家指教了!!
( 如果發文有什麼不好的地方我會改進的! )
### 更新:
我爬文看到的是 QT 還是會比 C# 快啦XD
但還是想聽聽前輩們的建議想法!
## 更新:
我現在應該會去玩玩看nana 和多看一點QT了!!
作者: a0919610611 (熾)   2017-07-21 23:17:00
都選用C++ 了 還不夠快嗎...
作者: james732 (好人超)   2017-07-21 23:23:00
Win32api,如果你願意慢慢刻的話……不過自己刻出來說不定還比別人包好的還慢XD如果是要開機與載入快一點,換SSD應該更有效(喂)如果可以的話分析原本C#版是慢在哪裡吧要知道效能瓶頸才能評估是不是換語言能解決的
作者: Killercat (殺人貓™)   2017-07-21 23:32:00
C++沒有std gui interface(我猜這就是你想問的東西)這個我記得在draft有提過很多次 不過都沒下文不過你要寫個簡單的東西的話 nana算簡單易用了http://nanapro.org/en-us/ 我們有些專案也用這個另外更多人的選擇是C#寫GUI 用dllimport去import C++的shared library,這算相對簡單的做法 不過無法跨平台
作者: james732 (好人超)   2017-07-21 23:53:00
C#拉介面很簡單,有效能考量的部分用C++寫再給C#呼叫通常兼顧開發效率與執行效率會這樣組合用不過你熟QT的話我覺得整個用QT 寫就好了不過學生如果有興趣有時間多學點東西也沒壞處
作者: s4300026 (s4300026)   2017-07-22 06:15:00
用MFC?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-07-22 11:11:00
什麼時候了還要人用十九世紀的方法寫程式。講一個無關的,你不能「幫忙」做這種事,要講好報酬不然那些編制內的人一個月坐領四五萬是在幹嘛?
作者: iFEELing (ing)   2017-07-22 12:39:00
C#寫的好應該也不會慢到哪去 原本那個應是別的原因吧?
作者: Killercat (殺人貓™)   2017-07-22 13:25:00
nana我們拿來做內部工具用 倒是沒production說缺點大概就是...用程式拼介面其實很不彈性吧另外 nana基本上不做視窗管理 邏輯一多其實滿難用的只是他設計上就是適合寫寫簡單的東西你可以把它想成就是C++版的Tkinter就是了
作者: stucode   2017-07-22 14:23:00
我之前都用C++搭Win32 API在寫GUI 可以告訴你的是這樣做產能真的相對(跟用一般GUI Framework比)很低比較適合拿來了解OS運作細節及實作一些Framework沒有提供的功能 另外 效能瓶頸通常也不是出在GUI上如果你沒有Win32開發經驗 這會讓你很難過
作者: TaiwanFight   2017-07-22 16:23:00
電腦是有多慢 十年前電腦?
作者: y3k (激流を制するは静水)   2017-07-23 00:09:00
這種需求我個人不會理會= = 自己寫沒寫好維護不良也算你喔>.^更何況只是個登入介面 你應該先搞懂他認為是慢在哪裡再來討論搞不好只是個Bug
作者: out99 ( )   2017-07-23 00:15:00
同意MOONRAKER的意見,根本是利用教師的地位在拗學生^如果沒給錢
作者: Schottky (順風相送)   2017-07-23 00:18:00
同意y3k說的,這種「幫忙」會變成事後還要負責免費維護而且最佳化本來就需要很多經驗,沒找出效能瓶頸之前,胡亂寫個新東西代替很可能只會越弄越糟...
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-07-23 08:47:00
當然是OS開了才有登入畫面阿 老師連這個時間都不想等喔那我看也別用啥QT win32了 回去用DOS才能達到老師要求到底他是從哪裡要登入哪裡
作者: y3k (激流を制するは静水)   2017-07-23 09:16:00
那應該怎麼寫都沒救 瓶頸根本是硬碟I/O 買固態硬碟才能達到他的需求
作者: james732 (好人超)   2017-07-23 13:42:00
只要自己寫個os讓開機載入的工作最小化就不用換SSD了(?
作者: xvid (DivX)   2017-07-24 10:09:00
自動跳登入介面到底是什麼@@
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-07-24 13:28:00
沒錯到底是什麼 是從哪裡登入哪裡寫個OS可以參考IOCCC的成品 迷你kernel而且沒人看得懂
作者: Killercat (殺人貓™)   2017-07-24 22:05:00
這就真的免了 人家想學開車 不用叫他重修機械學 XD
作者: lightyen (lightyen)   2017-07-24 22:25:00
問他打工費多少 拿去買ssd 剩下的拿去買雞排
作者: hoshinouta (hoshinouta)   2017-07-24 22:56:00
有人有試過Immediate Mode GUI (IMGUI)嗎?https://github.com/ocornut/imgui
作者: dzwei (Cout<< *p << \n ;)   2017-07-28 01:39:00
可以試試qml與c++混用,qml做ui,c++負責運算(thread),用signal和slot串起來。我最近拿它來做示波器(3MSR via ftdi usb2.0),介面可以刻的很漂亮又保有一定的程式執行效率XD
作者: shiratori (大家好)   2017-07-28 16:14:00
WTL (Windows Template Library)
作者: longlongint (華哥爾)   2017-07-28 22:02:00
灌台 Linux 請他用 ssh 連進去(?認真推 QT 在 OS 上要用 GUI 一定要 framework
作者: ACMANIAC (請肥宅救救肥宅)   2017-07-31 15:08:00
這什麼鬼需求?還有後續嗎?買個 SSD 就輕鬆搞定啊,花的錢比請你開發的薪水還少

Links booklink

Contact Us: admin [ a t ] ucptt.com