mfc程序轉化為qt_小峰的QT學習筆記

985270bc648501eb0a9fa7c58d5d983d.png

我的專業是輸電線路,上個學期,我們開了一門架空線路設計基礎的課,當時有一個大作業是計算線路的比載,臨界檔距,弧垂最低點和安裝曲線。恰逢一門結課考試結束,大作業ddl快到,我和另外兩個同專業的室友除了有課得出門,其他時間全部在寢室里熬這個大作業。熬了三天之后終于在ddl之前交上大作業。

因此,當時就萌生了一個想法,這么多復雜的重復計算,如果能用程序來解決,豈不是省心又省事。

fd7148383ba6be02696bb8511a7c0a1d.png
當時的朋友圈(里面的計算的數據還是錯的)

于是,這個寒假開始,我便開始準備著這件事,利用大二的時候學過的c++知識(當時學的不深,過了一年沒怎么用還忘了很多),用c語言編了一個win32控制臺程序,通過輸入天氣情況數據和導線參數,按下回車之后立馬將所有需要的數據算出來。

47019824bbfd0b11a5f84e4ae48f3a1c.png
當這個計算代碼能運行起來的時候真的高興的不要不要的

但是,只有這樣一個后臺程序怎么能給別人使用呢。最起碼也需要有一個界面顯示的樣子,于是憑借著大二遺留著沒忘記的c++知識,我想到用MFC來完成界面的設計。MFC雖然功能很齊全,使用的方法也算操作簡便,但是當我進編程界面的時候,很多編碼看不懂,瞬間有了一種勸退的感覺,這個頭文件里的內容看不懂,那個原文件里的內容也不是很通俗易懂。

后來,刷了幾天b站和知乎,我發現了QT這個軟件。看了傳智播客的幾個入門視頻,不由的被QT強大的插件庫,簡潔的ui設計還有優雅的代碼行吸引。(對新手來說真的挺容易入門的)

照著視頻完整做了一個翻金幣小游戲的例子,掌握了一些基本的用法,但是當自己開始做自己的軟件時,還是遇到了好多問題,于是想靜下心來,好好的學習一下QT這個軟件,買了一本參考書《QT5.9C++開發指南》,為了讓自己更好的學習這本書的內容,在知乎上面更新自己的每次學習筆記。

——————————————————————————————————————

簡要介紹一下QT,QT是一個非常優秀的跨平臺應用開發軟件。它有許多程序開發類庫,可以通過調用各種類庫來搭建GUI界面,就想搭樂高積木一樣,這點便是我覺得他很有趣的地方。QT支持C++來進行應用開發,因此需要有一定的C++基礎,因為之前學的快忘了,邊學習QT的過程中還在學習C++,(這里強推清華大學C++基礎課程 基礎篇和進階篇,在b站上可以搜到)。QT有商業版和社區版,商業版不用多說,就是要收費的版本,一般大家用的都是社區版,社區版的功能對于平時開發已經足夠了。使用QT的過程中強烈推薦搭配著下載時自帶的Assistant用,它是一本記錄QT函數功能的手冊(是英語的,不過沒有什么難得句式,遇到看不懂的英語用有道翻譯就可以了)

我下的是QT5.9MinGW 32-bit版本,聽傳智播客的老師說,這個版本出錯少(- -其實我不是很懂他說的意思,看他是用這個的,便也下了這個)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457533.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MS SQL的存儲過程

-- -- Author: -- Create date: 2016-07-01 -- Description: 注冊信息 -- ALTER PROCEDURE [dbo].[sp_MebUser_Register]( UserType INT, MobileNumber VARCHAR(11), MobileCode VARCHAR(50), LoginPwd VARCHAR(50), PayPwd VARCHAR(50), PlateNumber VARCHAR(20), UserTr…

mysql 中 all any some 用法

-- 建表語句 CREATE TABLE score(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),SUBJECT VARCHAR(20),score INT);-- 添加數據 INSERT INTO score VALUES (NULL,張三,語文,81), (NULL,張三,數學,75), (NULL,李四,語文,76), (NULL,李四,數學,90), (NULL,王五,語文,81), (…

REST framework 用戶認證源碼

REST 用戶認證源碼 在Django中,從URL調度器中過來的HTTPRequest會傳遞給disatch(),使用REST后也一樣 # REST的dispatch def dispatch(self, request, *args, **kwargs):""".dispatch() is pretty much the same as Djangos regular dispatch,but w…

scrapyd部署_如何通過 Scrapyd + ScrapydWeb 簡單高效地部署和監控分布式爬蟲項目

來自 Scrapy 官方賬號的推薦需求分析初級用戶:只有一臺開發主機能夠通過 Scrapyd-client 打包和部署 Scrapy 爬蟲項目,以及通過 Scrapyd JSON API 來控制爬蟲,感覺 命令行操作太麻煩 ,希望能夠通過瀏覽器直接部署和運行項目專業用…

最長上升子序列 (LIS算法(nlong(n)))

設 A[t]表示序列中的第t個數&#xff0c;F[t]表示從1到t這一段中以t結尾的最長上升子序列的長度&#xff0c;初始時設F [t] 0(t 1, 2, ..., len(A))。則有動態規劃方程&#xff1a;F[t] max{1, F[j] 1} (j 1, 2, ..., t - 1, 且A[j] < A[t])。 現在&#xff0c;我們仔細…

牛頓插值--python實現

from tabulate import tabulate import sympy""" 牛頓插值法 """class NewtonInterpolation:def __init__(self, x: list, y: list):self.Xi = xself

css搖曳的_HTML5+CSS3實現樹被風吹動搖晃

1新建html文檔。2書寫hmtl代碼。3書寫css代碼。.trunk, .trunk div { background: #136086; width: 100px; height: 10px; position: absolute; left: 50%; top: 70%; margin-left: -10px; -webkit-animation-name: rot; animation-name: rot; -webkit-animation-duration: 2.0…

素數路(prime)

素數路(prime) 題目描述 已知一個四位的素數&#xff0c;要求每次修改其中的一位&#xff0c;并且要保證修改的結果還是一個素數&#xff0c;還不能出現前導零。你要找到一個修改數最少的方案&#xff0c;得到我們所需要的素數。 例如把1033變到8179&#xff0c;這里是一個最短…

python多線程單核_002_Python多線程相當于單核多線程的論證

很多人都說python多線程是假的多線程!下面進行論證解釋:一、我們先明確一個概念&#xff0c;全局解釋器鎖(GIL)Python代碼的執行由Python虛擬機(解釋器)來控制。Python在設計之初就考慮要在主循環中&#xff0c;同時只有一個線程在執行&#xff0c;就像單CPU的系統中運行多個進…

detail:JSON parse error - Expecting value: line 1 column 1 (char 0)

detail":"JSON parse error - Expecting value: line 1 column 1 (char 0) 在調用接口時返回400錯誤&#xff0c;詳情是 {detail":"JSON parse error - Expecting value: line 1 column 1 (char 0)"}原因是傳送數據的格式有問題&#xff0c;不要使用…

【IDEA 2016】intellij idea tomcat jsp 熱部署

剛開始用IDEA&#xff0c;落伍的我&#xff0c;只是覺得IDEA好看。可以換界面。想法如此的low。 真是不太會用啊&#xff0c;弄好了tomcat。程序啟動竟然改動一下就要重啟&#xff0c;JSP頁面也一樣。 IDEA可以配置熱部署&#xff0c;打開tomcat配置頁面&#xff0c;將紅框處&a…

C# where用法解析

where 子句用于指定類型約束&#xff0c;這些約束可以作為泛型聲明中定義的類型參數的變量。1.接口約束。例如&#xff0c;可以聲明一個泛型類 MyGenericClass&#xff0c;這樣&#xff0c;類型參數 T 就可以實現 IComparable<T> 接口&#xff1a;public class MyGeneric…

ubuntu進入桌面自動啟動腳本_在 Ubuntu 下開機自啟動自己的 QT 程序而不啟動 Ubuntu 的桌面...

1. /etc/profile 方式實現這個功能&#xff0c;要完成兩步&#xff1a;1、系統設置-> 用戶賬戶-> 點擊我的賬戶-> 點擊右上角的解鎖-> 打開自動登錄-> 點擊右上角的鎖定-> 退出系統設置2、在 /etc/profile 文件的開頭添加執行 qt 程序的命令。如&#xff1a;…

Java obj與JSON互轉(jackson)

JSON 解析 常見的json解析器&#xff1a; jsonlibGson(谷歌)fastjson(阿里)jackson(Spring內置) jackson 依賴jar包 jackson-annotations/jackson-core/jackson-databind/ 官網下載地址 1. Java對象轉JSON 1.1 核心對象 ObjectMapper 1.2常用轉換方法 writeValue(參…

如何制作一個簡單的APP應用軟件?

如今隨著移動智能手機的普及&#xff0c;讓APP的市場一片繁榮&#xff0c;現在市場上的APP數量數不勝數&#xff0c;對于APP開發的我們很多外行人也許認為&#xff0c;開發APP是不是特別難&#xff0c;是不是只有資歷很高的程序員才能夠完成這個任務&#xff0c;或者說要想開發…

I/O重定向

每個進程都至少有3個信息&#xff1a;“標準輸入”stdin、“標準輸出”stdout、和“標準出錯”stderr。標準輸入通常來自鍵盤&#xff0c;標準輸出和標準錯誤輸出通常被發往屏幕&#xff08;并不會保存在磁盤文件中&#xff09;。有些時候&#xff0c;需要從文件讀取輸入&#…

java 自動裝拆箱

title: “java 自動裝拆箱” tags: Java 將基本數據類型封裝成對象的過程叫做裝箱&#xff08;boxing&#xff09;&#xff0c;反之基本數據類型對應的包裝類轉換為基本數據類型的過程叫做拆箱&#xff08;unboxing&#xff09;; 基本數據類型與其他對象的區別 基本數據類型 …

設計模式11---組合模式(Composite Pattern)

一、組合模式定義 將對象組合成樹形結構以表示“部分-整體”的層次結構&#xff0c;使得用戶對單個對象和組合對象的使用具有一致性。Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compos…

Linux 多核下綁定硬件中斷到不同 CPU(IRQ Affinity)

轉載 - Linux 多核下綁定硬件中斷到不同 CPU&#xff08;IRQ Affinity&#xff09; 作者 digoal 日期 2016-11-20 標簽 Linux , IRQ , 中斷 , CPU親和 , 綁定中斷處理CPU 背景 原文 http://www.vpsee.com/2010/07/load-balancing-with-irq-smp-affinity/ 原文 硬件中斷發生頻繁…

請列舉你了解的分布式鎖_這幾種常見的“分布式鎖”寫法,搞懂再也不怕面試官,安排!...

什么是分布式鎖&#xff1f;大家好&#xff0c;我是jack xu&#xff0c;今天跟大家聊一聊分布式鎖。首先說下什么是分布式鎖&#xff0c;當我們在進行下訂單減庫存&#xff0c;搶票&#xff0c;選課&#xff0c;搶紅包這些業務場景時&#xff0c;如果在此處沒有鎖的控制&#x…