原创 QT5 QThread多線程

QT5 Thread線程繼承QThread方式 一.首先分析一下 QTimer Class與 Sleep()函數之間的祕密 QTimer *t = new QTimer(*parent); //創建QTimer 對象 t->start(_

原创 Qt元對象系統

元對象系統   系統介紹 Qt 元對象系統(Meta-Object System) Qt的元對象系統基於如下三件事情: 1. 類:QObject,爲所有需要利用元對象系統的對象提供了一個基類。 2. 宏:Q_OBJECT,通常可以聲明在類

原创 C++新特性 - 生成指定範圍的隨機小數或者整數

C++新標準,有一個叫隨機數引擎的東西。 包含於頭文件 <random> 隨機數庫由:引擎,分佈組成。具體可參考《C++ primer》 #include<random> #include<iostream> using namespac

原创 經典C++筆試題目100例!

第一部分:C++與C語言的差異(1-18)1、C 和 C++ 中 struct 有什麼區別?     Protection行爲 能否定義函數 C 無 否,但可以有函數指針 C++ 有 可以,默認是private   2、C++中的 str

原创 QT打印log日誌

void MainWindow::log(QString fileName, QString message) { file.setFileName(fileName); file.open(QIODevice::Writ

原创 Mock方法介紹

1 現有的單元測試框架單元測試是保證程序正確性的一種有效的測試手段,對於不同的開發語言,通常都能找到相應的單元框架。藉助於這些單測框架的幫助,能夠使得我們編寫單元測試用例的過程變得便捷而優雅。框架幫我們提供了case的管理,執行,斷言集,

原创 三種單例模式的C++實現

簡介         因爲在設計或開發中,肯定會有這麼一種情況,一個類只能有一個對象被創建,如果有多個對象的話,可能會導致狀態的混亂和不一致。這種情況下,單例模式是最恰當的解決辦法。它有很多種實現方式,各自的特性不相同,使用的情形也不

原创 虛函數和純虛函數的區別

首先:強調一個概念定義一個函數爲虛函數,不代表函數爲不被實現的函數。定義他爲虛函數是爲了允許用基類的指針來調用子類的這個函數。定義一個函數爲純虛函數,才代表函數沒有被實現。定義純虛函數是爲了實現一個接口,起到一個規範的作用,規範繼承這個類

原创 C++中*與&的區別

*是取值運算符,對地址使用可以獲得地址中儲存的數值。 對於指針a,*a表示取a中的值 &是地址運算符,對變量使用可以獲得該變量的地址。 對於變量b,&b表示取b的地址 在定義時,* 是一個標識符,聲明該變量是一個指針,比如說

原创 應用程序(exe文件)圖標設置

第一步: 首先當然要準備一個.ico圖標文件(假定爲qtdemo.ico),將其複製到工程目錄當中(.pro文件所在的目錄)。 第二步: 在QT Creator中Ctrl+N或File - New File or Project,選

原创 Qt繪製圓形按鈕

關於Qt下繪製按鈕的文章不少,這裏簡單介紹一個怎麼繪製圓形⭕️的按鈕並在點擊時候改變顏色的方法。先上圖,如下: ==》1 圓形按鈕初始狀態(未被點擊且鼠標未移動到按鈕上)     ==》2 當鼠標移動到按鈕上時的狀態 ==》3、點擊圓形

原创 使用WAMP搭建PHP本地開發環境

寫在前面的話 PHP是服務器腳本語言,所以需要在服務器上才能運行。作爲新手,搭建服務器可能需要搗騰很久,有可能還搞不定。所以在入門階段,爲了把更多時間用在熟悉編程語言上,使用集成環境是最好也是最方便的選擇。而本文就來介紹如何在wind

原创 VS中CString與char型數組相互轉換問題

1. char str[]="hello"; CString cstr; cstr.Format(str); 2. char str[100]; LPSTR p; CString cstr="hello";

原创 VS2013+QT5.3.1環境搭建過程與各種版本QT下載地址

1. 所有Qt版本下載地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下載地址:http://download.qt.io/archive/qtcreator/3. 所有Qt VS開發

原创 Qt開發】QThread中的互斥、讀寫鎖、信號量、條件變量

在gemfield的《從pthread到QThread》一文中我們瞭解了線程的基本使用,但是有一大部分的內容當時說要放到這片文章裏討論,那就是線程的同步問題。關於這個問題,gemfield在《從進 程到線程》中有一個比喻,有必要重新放在下