QT中QPainter的使用及矩形、圓形等常見圖形的畫法
#include<QApplication>
#include
<QWidget>
#include
<QPainter>
class MyMainWindow:public QWidget
{
public:
MyMainWindow(QWidget
*parent = 0);
private:
void paintEvent(QPaintEvent*);
QPainter *paint;
};
void MyMainWindow::paintEvent(QPaintEvent*)
//paintEvent函式由系統自動呼叫,用不著我們人為的去呼叫。
paint=new QPainter;
paint->begin(this);
paint->setPen(QPen(Qt::blue,4,Qt::DashLine));//設定畫筆形式
paint->setBrush(QBrush(Qt::red,Qt::SolidPattern));//設定畫刷形式
paint->drawRect(20,20,160,160);
paint->end();
}
MyMainWindow::MyMainWindow(QWidget*parent):QWidget(parent)
{
setGeometry(100,100,200,200)
}
int main(int argc,char**argv)
{
QApplication a(argc,argv);
MyMainWindow w;
w.show();
return a.exec();
}
輸出結果: 繪製圓和橢圓 核心程式碼: paint->setPen(QPen(Qt::blue,4,Qt::SolidLine)); paint->drawEllipse(20,20,210,160); 第1,2個引數分別表示圓/橢圓距左上角的畫素數。第3,4個引數表示圓/橢圓的寬度和高度。更加確切地表述,這個圓或橢圓是在矩形中,這個矩形的左上角的頂點在座標軸中的位置為(20,20),這個圓或橢圓的中心為這個矩形的中心,以下的都相似!!!
繪製圓角矩形
繪製扇形圖 核心程式碼: paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); paint->drawPie(20,20,210,160,0,500); 前四個引數定義圓(與drawEllipse()函式相同)。後兩個引數定義圓的樣式。0為起始角度(實際單位為1/16度),500為扇形所展開的角度(單位也為1/16度)。
繪製弦 核心程式碼: paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); paint->drawChord(20,20,210,160,500,1000); drawChord()函式與drawPie()函式的引數完全相同。
繪製圓弧 核心程式碼: paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); paint->drawArc(20,20,210,160,500,1000); drawArc()函式與drawPie()函式的引數完全相同。
繪製貝塞爾曲線 核心程式碼: paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); paint->drawQuadBezier(QPointArray(QRect(20,20,210,160))); 傳遞給該函式的唯一一個引數表示一個矩形,在其中建立貝塞爾曲線(其他引數為預設引數,可以省略)。
相關推薦
QT中QPainter的使用及矩形、圓形等常見圖形的畫法
#include<QApplication>#include <QWidget> #include <QPainter> class MyMainWindow:public QWidget{ public: MyMainWindo
QT中QPainter的使用及矩形 圓形等常見圖形的畫法
#include<QApplication>#include <QWidget> #include <QPainter> class MyMainWindow:public QWidget{ public: MyMainWindow(QWidget
安卓自定義View基礎-繪製點、線、矩形、圓形等
為什麼要自定義View?因為我們在開發中,經常有各種各樣的需求,但是原生的控制元件畢竟只能滿足我們常用的需求,所以我們需要根據自身當前的需求來定製我們的View,話不多說,一步一步來吧。 1.建立類: 建立一個類,暫且將這個類命名為CustomV
純CSS畫的基本圖形(矩形、圓形、三角形、多邊形、愛心、八卦等)
技術分享 部分 fin display 三角形 spl back transform 純css 今天在css-tricks上看到一篇文章,那篇文章讓我不禁心頭一震,強大的CSS啊,居然能畫出這麽多基本的圖形。圖形包括基本的矩形、圓形、橢圓、三角形、多邊形,也包括稍微復雜一點
利用QT中Qpainter畫點,直線,弧線等簡單圖形
轉自: http://blog.sina.com.cn/s/blog_67cf08270100wv59.html MyImgTest.h: #ifndef MYIMGTEST_H #define MYIMGTEST_H #include <QWidget
Canvas入門(1):繪制矩形、圓、直線、曲線等基本圖形
dsm etc win cti b2c 創建 例如 .com courier 來源:http://www.ido321.com/968.html 一、Canvas的基礎知識 Canvas是HTML 5中新增的元素,專門用於繪制圖形。canvas元素就相當於一塊“畫布
Eclipse中設置作者、日期等的方式
src window type cli png comment 我們 template windows 1、點擊Windows->Preferences->Java->Code Style->Code Templates; 2、點擊展開右側的Comm
Qt中 QString 和int, char等的“相互”轉換
UC data 類比 const luci set als string轉換 span Qt中 int ,float ,double轉換為QString 有兩種方法 1.使用 QString::number(); 如: long a = 63; QString s = Q
CSS製作各種形狀(矩形、圓形、三角形、多邊形、五角星星、太極陰陽圖......)
CSS能夠製作各種形狀。正方形和矩形很容易,因為它們是自然形狀。新增寬度和高度,就可以獲得所需的確切尺寸矩形。新增border-radius,就可以將這些矩形變成圓形和橢圓形。 我們還可以利用CSS中的::before和::after元素,新增到原始元素的形狀,再通過巧妙地定位
今天算是我的第一個10.24程式設計師節吧,記錄由VGG16復現過程中初見的用法、函式等,以此起步。
1.a[len(a):len(a)]=[] a=[] a[len(a):len(a)]=[]可以用來擴充套件list,類似append,但是append,又類似於”整體加入“ a=[8,9] print(a) a[len(a):len(a)]=[1,2,3] print(a,) a
C++中int、string等常見型別轉換
C++中int、string等常見型別轉換 1、int型與string型的互相轉換 最佳實踐: int型轉string型 void int2str(const int &int_temp,string &str
OpenCV畫線、矩形、圓形
程式碼位置:9-DrawingLineRectangleCircle.py import numpy as np import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image)
iview之——table中巢狀input、select等
使用iview在table中嵌入button是比較常見的需求,但是在table中嵌入input或者select你是否考慮過呢?本文用例項介紹input和select在table中的巢狀。 理解table如何巢狀input、select首先要理解vue的render函式可以參考:vue render函式介紹。當
組合語言實現圖形繪製——矩形、三角形等
組合語言實現圖形繪製 一、準備工作 1.INT 10H的功能 INT 10H 是由 BIOS 對螢幕及顯示器所提供的服務程式。使用 INT 10H 中斷服務程式時,先指定 AH 暫存器編,該編號表示欲呼叫的功用,然後再定義其它暫存器內容,當一切設定好之後再呼叫 INT 10H。下面是我們
【TensorFlow】PyCharm中無法識別tensorflow、numpy等Python庫問題的解決辦法
參考部落格https://blog.csdn.net/WIinter_FDd/article/details/72835939,準備使用貓狗資料集練習TensorFlow構建自己的圖片資料集TFrecords。使用pycharm敲入程式碼後,提示無法識別Python庫的問題。 1、問題現象如
java中載入及方法、內部類與成員的呼叫關係
/* *該例程測試了程式在最開始時的載入情況及成員的呼叫情況,載入順序為類→靜態成員→建立物件( *如果建立的話)。 *注意,載入類時,靜態成員是單獨載入到一處static程式碼塊中,後續將不再載入。因此使用效率 *也更高一些。其中,非靜態內部類和靜態內部類在最初均不載入,
HTTP協議及其POST與GET操作差異 & C#中如何使用POST、GET等
HTTP協議我想任何IT人士都耳熟能詳了,大家都能說出個所以然來。但是如果我問你HTTP協議的請求方法有哪些?POST與GET的差異?GET或POST傳送資料量的大小有限制嗎?HTTP響應的狀態有哪些?以及在C#中你如何使用?如果你不能清楚地回答其中的大部分問題,那麼這篇文章就是為你準備的!大綱如
【java學習記錄】7.定義一個介面ArearInterface,其中包含一個方法,計算面積三角形、矩形、圓形的面積
* 定義一個介面ArearInterface,其中包含一個方法,計算面積 * 定義三個類:三角形、矩形、圓形,分別實現ArearInterface中的方法 * 定義一個主類,將三角形和圓形的面積顯示在螢幕上ArearInterface 介面public interface A
Canvas入門(1):繪製矩形、圓、直線、曲線等基本圖形
一、Canvas的基礎知識 Canvas是HTML 5中新增的元素,專門用於繪製圖形。canvas元素就相當於一塊“畫布”,一塊無色的透明區域,需要利用JavaScript編寫在其中進行繪畫的指令
抽象類,實現求矩形、圓形、三角形的面積計算。
package Abstrace;import Abstrace.Circle;import Abstrace.Rectangle;import Abstrace.Shape;import Abstrace.Triangle;//定義一個抽象類abstract class S