原创 C++函數返回局部變量指針的問題

講這個問題之前要先簡單講一下C++的內存管理。 更詳細的內容可以參考這篇文章《C++內存管理》。 C++程序的內存被分爲堆(heap),棧(stack),全局/靜態存儲區,自由存儲區和常量存儲區。 1)堆(heap):new的都存放在這

原创 qt關閉窗口控件命令

1)退出程序 QApplication::exit(); 2)關閉QDialog accept();或 reject();或 done(); 3)所有類型的Widget關閉 close();

原创 qt顯示中文的方法

1)在main函數中加入以下幾句: QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForLocale(QTextCode

原创 qt更換程序圖標

1)添加頭文件 #include <QIcon> 2)假設窗體爲QMainWindow *win = new QMainWindow; 添加程序圖標語句爲: win->setWindowIcon(QIcon("圖片路徑"));

原创 qt顯示分隔符

1)添加QFrame 2)將frameSharp改爲VLine或者HLine

原创 qt4中如何區分不同系統(mac, windows, linux)

qt的頭文件中已經定義了一些宏用來區分不同系統,如下: #include <QtGlobal> #ifdef Q_OS_MAC // mac #endif #ifdef Q_OS_LINUX // linux #endif #ifd

原创 一種只允許程序的一個實例運行的方法

要阻止程序多次運行的方法有好幾種,都是運行時先檢測某種標識是否已經創建,是的話就退出。這裏我們講一種使用互斥變量的方法。代碼如下: BOOL InstanceRunning() { HANDLE hMutex = NULL; //

原创 VS2012 + WDK8.0 + Win8調試內核驅動程序(一)

Windows操作系統內核驅動程序的調試一直都顯得比較複雜,官方沒有集成調試環境,只能使用WinDbg這些調試工具,且需要進行繁瑣的設置。也有大牛開發VisualDDK這樣的工具,很大程度上方便了大家的驅動開發。驅動新手一般都得在網上搜索

原创 qt設置窗口在桌面居中顯示

#include <QApplication> #include <QMainWindow> #include <QDesktopWidget> int main(int argc, char *argv

原创 VS2012修改對話框背景顏色

SetDialogBkColor可以很方便地設置對跨框的背景顏色,可惜現在已經廢棄了。我用Visual Studio 2012編譯後會出現這個錯誤:大意是用處理WM_CTLCOLORDLG消息的方式來代替這個函數。好在MFC的消息處理也比

原创 安裝ubuntu14.04之後可以卸載的一些軟件

1)sudo apt-get purge landscape-client-ui-install -y 遠程控制軟件landscape 2)udo apt-get purge ubuntuone* -y ubuntu one基本已經不使用

原创 關於快速排序(quick sort)及其改進

快速排序的基本思想是分治:每次選定一個key,然後遍歷數組或數組的一部分,並將它劃分爲兩段,一段裏面的數都比key小,另一段裏面的都比key大,然後針對每一段又進行以上處理。最後,每一段裏面都是有序的,而且段與段之間也是有序的,從而整個數

原创 ubuntu14.04下使用QQ

方案是pidgin+lwqq 1)先安裝pidgin sudo apt-get install pidgin 2)安裝lwqq插件,github地址爲:https://github.com/xiehuc/pidgin-lwqq sudo