qt學習之個人畫板的實現(2)

2021-06-27 17:25:00 字數 1764 閱讀 7264

結合上次的,我這次實現了

塗鴉功能,雖然不是很複雜,也確實花了不少時間去看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...