原创 Qt小技巧12.QObject子類D指針的使用

1 前言 D指針可以隱藏類的實現細節,對於需要發佈庫文件的項目來說屏蔽實現細節尤爲重要,具體有哪些優點自行查閱下吧,文章太多了,不再重複了,下面介紹下如何使用Qt的方式將D指針應用於自定義類中。 2 舉個例子 按照Qt的慣用方法,例如有個自

原创 Qt實戰13.簡單通用的日誌輸出窗口

1 需求描述 設計一個類似於VS的日誌輸出窗口,點擊某一行後內容能夠自動展開,改變列寬時,選中行能夠根據日誌內容自動調整高度。同時提供一些常用的功能,例如複製、顯示/隱藏列、日誌分類顯示、顯示狀態恢復等。 2 設計思路 這是一個實際項目

原创 Qt定製開發2.文件傳輸模塊PLUS(多線程後臺版)

1 簡單介紹 真實項目中使用,基於Qt開發的文件傳輸模塊,後臺版,可集成到任意的Qt工程中。 支持多個線程的同時發送、接收文件,運行穩定可靠 可以同時監聽多個端口,也可以同時向多個端口發送文件 提供Demo示例,接口足夠簡單,小白也能輕

原创 Qt小技巧11.界面假死或不刷新的處理方式

1 遇到的問題 有時會遇到這樣一種情況,比如界面最小化或者界面關閉後(進程未退出),當重新顯示時界面確是一片白的,原因是paintEvent並被未調用,導致界面未刷新。如果手動改變下界面大小時又可以正常顯示了,因爲此操作調用了paintEv

原创 Qt定製開發1.清新界面套裝版

1 簡單介紹 提供通用的自定義邊框,純Qt實現,目前完成了部分控件樣式的定製,後續不斷完善中。 提供了通用的最小化、最大化、關閉、換膚按鈕 提供了通用的軟件啓動界面 支持了自定義大小調整功能 支持了拖動到邊緣自動縮放功能 2 使用方式

原创 Qt小技巧10.不使用調試F2直接進入源碼

1 對面的Qter看過來 使用QtCreator開發時,有時候想窺探一下Qt的源代碼,哎呀,網上查一下全部是要打開調試纔行,不打開調試直接F2行不行,答案肯定是可以的,並且啥都不用配置。 2 使用QtCreator的發現的一個問題 比如我

原创 Qt小技巧9.moveToThread的使用技巧

1 說下背景 1.1 常規方式存在的問題 一般來說,在Qt中使用線程,最常規的做法是繼承QThread,重寫run函數,調用start函數,run函數裏邊的代碼就會在新的線程中執行了。這樣做有點麻煩,要繼承、重寫,還容易出錯,最典型的錯誤如

原创 Qt小技巧8.利用反射機制通過類名創建Qt對象

1 需求描述 在項目開發過程中可能會有這樣一種需求,就是我連頭文件都沒有隻知道類的名字,在這種情況下需要將對象實例化出來,同時還要調用類中的方法。想想有點不可思議,但在Qt的世界裏,這些是很容易實現的。 2 實現過程 舉一個簡單例子,一個基

原创 項目經驗2.需求才是王道

1 一點感悟 1.1 英雄無用武之地 技術再好,沒有施展的空間,你的價值是無法體現出來的。這個施展的空間就是用戶需求,只有客戶有需求了,你纔有機會發揮你的技術能力,沒有需求,你啥也不是。我們都應該感謝這個時代,給了我們這麼多能夠實現自身價值

原创 Qt實戰12.可自由展開的ToolBox

1 需求描述 需求就很簡明瞭,Qt自帶的QToolBox同時只能展開一個頁面,客戶要求可同時展開多個,這種只好自定義實現了。網上也能找到很多實現,但還是感覺親力親爲的好,畢竟自己動手豐衣足食嘛。 2 設計思路 主要有兩部分,分別是Too

原创 Qt小技巧7.Qt4集成fusion風格

1 Qt4和Qt5支持的風格 由於公司有些老項目使用的是Qt4進行開發的,所以有些Qt5的特性是不具備的,例如fusion風格,分別打印下Qt4和Qt5支持的風格: qDebug() << QStyleFactory::keys();

原创 Qt雜談3.快速體驗Qt for Android(windows平臺)

1 基本概念 對使用到的工具進行一個簡介,這裏只需要有個概念就行,有興趣的朋友可以自行查閱相關資料做更深入的瞭解。 1.1 Java JDK JDK是 Java 語言的軟件開發工具包,主要用於移動設備、嵌入式設備上的java應用程序。JD

原创 Qt實戰10.支持最小化和最大化的QDockWidget

1 需求描述 由於項目需要,xx軟件的一些模塊均是以dockwidget的方式進行開發的,這樣便於實現靈活佈局;但是再某些情況下需要全屏展示dockwidget中的內容,遺憾的是QDockWidget除了關閉按鈕,最小化、最大化按鈕都沒提

原创 Qt小技巧6.源代碼目錄的管理

1 遇到的問題 在開發項目過程中,經常會用到一些配置文件或者依賴庫,通常的做法是將相關文件複製到Qt可執行程序同級目錄下就可正常運行。Qt默認是在影子目錄下進行構建,以保持源碼的純淨,這樣的話依賴文件就和源碼是分離的。 可以預見,當源碼交付

原创 軟件下載集結令

1 系統及開發 Qt4~Qt5.11 Qt5.9~Qt5.xx Qt是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用於開發非GUI程序,比如控制檯工具和服務器。 MyS