結合上次的,我這次實現了
塗鴉功能,雖然不是很複雜,也確實花了不少時間去看qt基礎。但確實有一些注意點值得大家注意。特別是新手。
一定要注意大小寫以及一些基本的語法規範,這樣會為你節省不少debug的時間。
以下是我的畫圖元件的源**(塗鴉實現)
這是畫圖元件的標頭檔案,直接在新建的mainwindow 中新加上乙個以qwidget為基類的類即可(不再贅述)。
#ifndef paintwidget_h
#define paintwidget_h
#include
#include
#include
#include
class paintwidget : public qwidget
;#endif // paintwidget_h
這是畫圖元件的cpp檔案:
#include "paintwidget.h"
#include
#include
paintwidget::paintwidget(qwidget *parent):
qwidget(parent)
void paintwidget::paintevent(qpaintevent *)
void paintwidget::mousepressevent(qmouseevent *event)
}void paintwidget::mousemoveevent(qmouseevent *event)
}void paintwidget::mousereleaseevent(qmouseevent *event)
}void paintwidget::paint(qimage &theimage)
以及接下來的,主視窗的初步設計,我稍微使用了一下designer一會兒附圖,接下來有機會會繼續改進。
主視窗的標頭檔案:
#ifndef mainwindow_h
#define mainwindow_h
#include
#include "paintwidget.h"
#include
//滾動條
namespace ui
class mainwindow : public qmainwindow
;#endif // mainwindow_h
主視窗的cpp檔案:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
mainwindow::~mainwindow()
以下是初步嘗試designer:
以及最後的塗鴉效果:
重點就是理解滑鼠事件使畫圖功能的實現。
QT學習之路 5 乙個簡易畫板的實現
1 設計用乙個繼承qmainwindow的類作為整個畫板程式的主介面,乙個繼承qwidget的類作為畫板,然後乙個shape基類,另外有很多圖形類繼承了這個基類。這是程式的整體框架。2 細節方面,在主介面類中定義了很多個action,每個action就是乙個畫一種圖形的操作,然後定義了訊號和槽函式,...
iOS Quartz2D畫畫板的實現
首先用storyboard搭建介面,沒有什麼好說的。然後就是注意的功能了,這裡用了觸控事件來搭配quartz2d的路徑來畫畫。思路就是把路徑放到陣列中 property nonatomic,strong nsmutablearray paths 這裡注意 如果用c語言的這個方式 cgmutablep...
qt學習之各種對話方塊的實現
1 目的 實現1 顏色對話方塊 2 實現顏色標準對話方塊 3 實現字型標準對話方塊 4 實現標準輸入對話方塊 5 實現標準訊息對話方塊 6 實現自定義對話方塊 實現 dialog.h ifndef dialog h define dialog h include include include in...