Qt學習 四 例項塗鴉畫板mspaint

2021-07-14 04:17:44 字數 1314 閱讀 4708

一、qt圖形繪製

自己在qt開源社群在自學yafeilinux前輩的《qt快速入門系列教程》中的圖形篇,結合所學的知識,可以做乙個塗鴉板例項

二、實現塗鴉板

1、新建工程mspaint, 基類選擇qdialog

2、在dialog.h裡面新增如下**

引入標頭檔案

#include #include #include #include #include #include #include 函式宣告

protected:

void paintevent(qpaintevent *);

void mousereleaseevent(qmouseevent *);

void mousepressevent(qmouseevent *);

void mousemoveevent(qmouseevent *);

私有變數

private:

ui::dialog *ui;

qpixmap pix;

qpoint lastpoint;

qpoint endpoint;

3、在dialog.cpp新增修改如下**

建構函式

dialog::dialog(qwidget *parent) :

qdialog(parent),

ui(new ui::dialog)

函式定義

//根據滑鼠前後兩個指標就能繪製直線

void dialog::paintevent(qpaintevent *)

//滑鼠按下獲得開始點

void dialog::mousepressevent(qmouseevent *event)

}//當滑鼠移動時獲得結束點,並更新繪製。

//呼叫update()函式會執行paintevent()函式進行重新繪製。

void dialog::mousemoveevent(qmouseevent *event)

}//當滑鼠釋放時,也進行重新繪製

void dialog::mousereleaseevent(qmouseevent *event)

}

三、執行結果圖

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

結合上次的,我這次實現了 塗鴉功能,雖然不是很複雜,也確實花了不少時間去看qt基礎。但確實有一些注意點值得大家注意。特別是新手。一定要注意大小寫以及一些基本的語法規範,這樣會為你節省不少debug的時間。以下是我的畫圖元件的源 塗鴉實現 這是畫圖元件的標頭檔案,直接在新建的mainwindow 中新...

Qt學習筆記外觀篇(四) Qt 樣式表例項

如圖 將左側的對話方塊變為右側對話方塊的樣式。其中的變化 全部的矩形框都變為了圓角的 背景顏色改變了 兩個組合框改變了。1 實現顏色的改變 qdialog r2 qlabel 2 實現矩形框的圓角化 r3 qcombobox editable,qlineedit,qlistview 3 r5 qco...

QT學習筆記(四) 應用例項 計算器設定

作用 1.用於接受使用者輸入 2.能夠獲取使用者輸入的字串 3.是功能性元件,需要父元件作為容器 4.能夠在父元件中進行定位 qwidget w 生成qwidget物件,頂級元件 qlineedit le w 生成qlineedit物件,其父元件為qwidget le.setalignment qt...