原创 QTableView類中實時刷新和固定選中的矛盾(即刷新後不清除選中標記)的解決方法

在非MVC機制的編程中使用QTableView類,若需要QTableView顯示的內容實時刷新(如固定週期刷新),往往會導致選中標記也會被清除掉(即刷新之前選中某塊區域,刷新之後就取消了選中),如果希望在刷新過程中保留選中標記,可選用如下

原创 根據SOCKET套接字獲得此套接字綁定的端口號

//testSocket:已經綁定了端口的套接字,這裏假設不知道其綁定了哪個端口,本函數是通過該套接字反推其綁定的端口 //函數返回該套接字的端口號 int getPort(SOCKET testSocket) { sockaddr_in

原创 source insight刪除沒用的project

1、刪除某一個或多個無用的project(歷史project) 用十六進制編輯器打開  "我的文檔\Source Insight\Projects\PROJECTS.DB3" 文件 ,找到你要刪除的項目路徑及名稱字符串,用0替換相關位置的

原创 Qt實現應用單實例運行(2)-使用自定義類

1、.h文件 #ifndef SINGLEAPPLICATION_H #define SINGLEAPPLICATION_H #include <QObject> #include <QApplication> #include <QtN

原创 C++ GUI Programming with Qt4 Second Edition 之 B.1 使用qmake

      很無奈,由於文中有些特殊字符,被網頁認成是有特殊作用的表達式,無法正常顯示,只能用這種貼圖的方式提供本節了。 微信公衆號:Qt開發社區(期待您的關注,掃下方二維碼或搜索“Qt開發社區”或"Qtkfsq") 投 稿 郵

原创 C++ GUI Programming with Qt4 Second Edition 之 附錄A.2 Windows系統Qt的安裝

A.2 Windows系統Qt的安裝       在本書編寫時,Windows平臺的Qt安裝包是qt-win-opensource-4.3.2-mingw.exe(http://download.qt.io/archive/qt/4.3/

原创 Qt實現應用單實例運行(3)-使用QTSingleApplication

QTSingleApplication,是Qt官方提供的,用於實現只啓動一個實例,並在啓動時向另一個實例通信(依賴於QtNetwork模塊) 默認情況下,收到消息後會自動激活自身窗口 (一)簡單使用: (1)將裏面的qtsingleap

原创 C++ GUI Programming with Qt4 Second Edition 之 附錄B 編譯Qt應用程序

附錄B 編譯Qt應用程序 B.1 使用qmake B.2 使用第三方編譯工具         使用編譯工具可以大大簡化Qt應用程序的編譯過程。有三種編譯途徑可選:使用Qt提供的qmake工具;使用第三方編譯工具;使用集成開發環境(IDE

原创 C++ GUI Programming with Qt4 Second Edition 之 鳴謝

鳴謝       首先要感謝Eirik Chambe-Eng,他是奇趣科技的總裁,同時也是兩個創始人之一。Eirik不僅熱心地鼓勵我們編寫本書的Qt 3版本,還允許我們佔用大量工作時間來進行寫作。Eirik和奇趣科技CEO——Haava

原创 C++ GUI Programming with Qt4 Second Edition 之 Qt簡史

Qt簡史       1995年5月,Qt開發框架首次公開發布。Qt最初由Haavard Nord(奇趣科技CEO)和Eirik Chambe-Eng(奇趣科技總裁)設計開發。Haavard和Eirik相識於Trondheim的挪威科技學

原创 Qt 判斷文件或文件夾是否存在及創建文件夾

1. 判斷文件夾是不是存在 參數說明: QString fullPath;//文件夾全路徑 /*方法1*/ bool isDirExist(QString fullPath) {     QDir dir(fullPath);     i

原创 Qt 使用Windows API 函數精確控制循環執行的週期時間

有時我們的線程是一個while()或for()的死循環,如果希望每隔固定時間循環執行一次,即實現固定週期的循環執行,則需要以下代碼 #define CYCLE_PERIOD100 /*固定週期宏定義,單位爲毫秒 */ LARGE_INTE

原创 Qt 獲取當前時間

1、獲取帶日期的時間,使用QDateTime類 QDateTime current_date_time =QDateTime::currentDateTime(); QString current_date =current_date_t

原创 Qt實現應用單實例運行(1)-使用共享內存

在工程的main函數中添加以下代碼(在QApplicationapp(argc, argv);和創建主窗口語句之間添加即可): // 確保只運行一次 QSystemSemaphore sema("JAMKey",1,QSystemSema

原创 QT 文件夾操作(最精簡的文件遍歷操作)

QString m_sProjectPath = tr("C:\Users\administrator\Desktop");/*文件夾全路徑名*/ QDir dir(m_sProjectPath); dir.exists(); /*判斷文