原创 Qt定時器(二)QTimer

使用timerEvent可以捕獲到定時器事件,但是當定時器較多的時候,使用事件來捕獲顯得不怎麼方便。因此,我們可以使用<QTimer>來完成。 在我們需要使用定時器的地方new一個QTimer出來。如下: QTimer *timer1

原创 Qt繪圖設備

我也不轉載了。直接看豆子博客:https://www.devbean.net/2012/12/qt-study-road-2-paint-device/   需要說明的是現在Qt下使用OpenCV和OpenGL是很方便的,關於圖像的處理你

原创 QMainWindow和QAction

QMainWindow是Qt 框架帶來的一個預定義好的主窗口類。一個主窗口一般都是由下圖所示部分組成。   我們在創建Qt應用程序的時候,就可以選擇主窗口繼承自QMainWindow。這樣我們的就可以在MainWindow中添加窗口標題

原创 創建第一個Qt程序

程序  #include "widget.h" //對於 Qt 程序來說,GUI 程序是QApplication //非 GUI 程序是QCoreApplication。QApplication派生自QCoreApplication

原创 Qt工程文件介紹

QT += core gui #Qt的兩大核心模塊,Qt gui和Qt core greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #Qt4之後,

原创 Qt初識信號槽

在Qt框架下,使用信號槽機制來完成事件處理。 信號就是發生的事件,槽就是處理事件的函數。這兩者不在一起,不像MFC的消息循環機制。它們是鬆散的耦合。要想將它們連接起來,那麼必須使用connect函數來連接它們。例如,當我想實現,點擊關閉按

原创 C++之函數模板(二)

通過函數模板定義的函數如果和普通函數名稱相同,以及重載函數模板,我們在調用這個函數的時候,到底是執行哪一個函數。 #include"header.h" using std::cout; using std::endl; void sw

原创 C++之模板類派生子類

從模板類派生普通類 template<typename T> class Parent { public: Parent(T a); ~Parent(); private: T a; }; template<typenam

原创 Qt創建菜單欄,工具欄,狀態欄

QMainWindow允許在其上創建菜單欄,工具欄和狀態欄,我們就在QMainWindow上來創建它們。直接上代碼,代碼中有詳細的註釋。 //MainWindow.h文件 #ifndef MAINWINDOW_H #define MAI

原创 Qt添加資源文件

爲了方便跨平臺使用,Qt提供了一個資源系統。資源系統用於將程序運行時所需要的資源以二進制的形式存儲於可執行文件內部。也就是把資源文件編譯成爲可執行文件的一部分。這樣就不怕路徑問題以及資源文件被誤刪。 在這裏先分享一個免費獲取圖標的網站:h

原创 Qt定時器(一)

定時器也是一個我們經常使用的東西。下面的代碼演示了定時器的基本使用方法。 #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidge

原创 Win10子系統Ubuntu的安裝和使用

有了win10子系統Ubuntu,真的太好用了,再也不用搞什麼虛擬機,雙系統了。 下面直接開始教你們安裝: 等待啓用完畢之後,不用立即重啓。先去微軟商店,安裝Ubuntu系統。 這裏選擇了16.04 LTS版本,你也可以選擇1

原创 線程同步之條件變量(pthread_cond_wait)

條件變量 條件變量給了線程以無競爭的方式等待特定條件發生。條件變量是和互斥量一起使用的,條件變量是由互斥量保護的。這麼講,大家可能不明白,這條件變量有什麼用?幹什麼的?還是結合pthread_cond_wait()函數來分析一下吧! 下面

原创 屏障(barrier)

屏障給我們提供了多個線程協調工作的一種方式,屏障允許每個線程等待,直到所有的合作線程都到達某一點,然後從該點繼續執行。有了屏障,我們處理合作線程就變得簡單多了。 下面來介紹一下相關的函數 和前面的線程同步的函數類似,init用來初始化,

原创 線程同步(POSIX)

線程同步 關於同步這個概念以及同步的處理方法,請看下面鏈接給出的文章: https://blog.csdn.net/zy010101/article/details/83869140 經典的一些同步問題,請看下面的這一篇文章: https