原创 利用std::bind和std::function實現對象間通信

利用std::bind和std::function實現對象間通信 C++11中利用bind和function,同一個類的不同對象可以委託給不同的實現,從而實現不同的行爲。 示例代碼如下: class Widget { public:

原创 Qt Widget封裝左圖標右文本的圖片按鈕 IconButton

如上圖所示,受移動端界面設計的影響,pc客戶端上的界面設計也越來越多的出現類似的界面,傳統的QPushButton和QToolButton,無論是添加image還是添加icon,都無法滿足這樣的UI設計需求,退而求其次,只能用QWidg

原创 C# winform 高效繪圖

最近工作中需要給一個網絡視頻會議c++ sdk編寫winform客戶端 demo,其中的有個功能爲電子白板,初步瞭解下C#繪圖相關的基礎知識。 由於在繪製連續點組成的曲線時鼠標移動的速度非常快,所以要考慮效率,否則會漏掉很多點,導致曲線不

原创 std::string與char*之臨時緩衝區

c++文件讀取流程如下: ifstream ifs(srcFile, ifstream::binary); if(ifs.is_open()) { ifs.seekg(0, ifs.end); long filesize

原创 C++ Dll導出類中暴露std::string 等類型時爆出“warning C4251”警告的處理

C++ 在編寫Dll時需要導出類給外部調用,如果在導出類中出現std::string或其他STL類型,通常會爆出下面的warning簡單的導出類定義如下:class __declspec(dllexport) TestDll { publ

原创 Linux下Gitbook生成pdf及中文問題的解決

Linux下Gitbook生成pdf 安裝 Calibre sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo p

原创 win高分屏下Qt程序的界面適配處理

在高分屏的設備內,如果程序沒有進行適配,那麼界面就會太小而看不清楚,而且系統顯示比例的縮放對程序也不生效。下面是Qt程序界面顯示適配系統縮放的一種解決方法。 首先,獲取windows系統的像素密度,也就是DPI // Get deskto

原创 QComboBox下拉列表樣式美化定義

Qt Assistant中官方提供的腳本定義樣例如下: QComboBox { border: 1px solid gray; border-radius: 3px; padding: 1px 18px 1px 3

原创 命令行程序重定向輸出到文本文件

在程序調用windows api啓動命令行程序,並且重定向輸出到文本文件 如,在cmd中輸入 : systeminfo > systeminfo.txt 下面是在C/C++程序中處理整個流程: CString outputFil

原创 Qt Creator 使用技巧之提高編譯速度【使用jom參數】

環境:win10, Qt 5.4.1,編譯器mingw32 項目: Qt for Android Qt Creator 在編譯android項目時不支持預編譯,默認cpu單核編譯,工程稍大一點導致編譯過程極其緩慢,影響效率。 不過Qt C

原创 qt designer 啓動失敗

環境:VS2008,Qt4.8.5,windows 7 Qt designer啓動出現下圖所示畫面,之前一直都很正常。 解決方法,打開目錄:C:\Users\Administrator\.designer,在目錄下刪除gradient

原创 因爲數據庫正在使用,所以無法獲得對數據庫的獨佔訪問權

方法一:更改數據庫狀態 USE Master ALTER DATABASE [XXX] SET OFFLINE -- sql do something ALTER DATABASE [XXX] SET OnLINE use XXX  

原创 多屏幕下Qt獲取程序所在屏幕的位置

用QtBrowserplugin開發的ActiveX組件,在IE網頁和WPF桌面客戶端中使用。 在機器接雙顯示器的情況下,彈出以屏幕爲基準的窗體時,可用如下方法進行操作: 1.獲取activeX窗口在桌面上的絕對位置 2.通過此絕對位置

原创 自己用的Visual Studio 2013擴展插件

1.ClaudiaIDE,添加編輯器背景圖片.2.Go To Definition,Make ctrl+click perform a "Go To Definition" on the identifier under the curs

原创 多重繼承類構造函數的聲明

class CTimeType //定義時間類 { }; class CDateType //日期類 { }; class CDateTimeType : public CDateType, public CTimeType//時間日