日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Qt】2D绘图之绘制文字

發(fā)布時間:2024/4/24 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Qt】2D绘图之绘制文字 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. 開發(fā)環(huán)境
    • 03. 基本繪制
    • 04. 使用范圍繪制文字
    • 05. 使用字體繪制文字
    • 06. 附錄

01. 概述

Qt中除了繪制圖形以外,還可以使用QPainter::darwText()函數(shù)來繪制文字,也可以使用QPainter::setFont()設置文字所使用的字體,使用QPainter::fontInfo()函

數(shù)可以獲取字體的信息,它返回QFontInfo類對象。在繪制文字時會默認使用抗鋸齒。

02. 開發(fā)環(huán)境

Windows系統(tǒng):Windows10

Qt版本:Qt5.15或者Qt6

03. 基本繪制

程序示例

void Widget::paintEvent(QPaintEvent *) {QPainter painter(this);painter.drawText(100, 100, "hello Qt"); }

執(zhí)行結果

在(100, 100)的位置繪制了一個字符串。

04. 使用范圍繪制文字

函數(shù)原型:

第一個參數(shù)指定了繪制文字所在的矩形;第二個參數(shù)指定了文字在矩形中的對齊方式,它由Qt::AlignmentFlag枚舉類型進行定義,不同對齊方式也可以使用“|”操作符同時使用,這里還可以使用Qt::TextFlag定義的其他一些標志,比如自動換行等;第三個參數(shù)就是所要繪制的文字,這里可以使用“\n”來實現(xiàn)換行;第四個參數(shù)一般不用設置。

程序示例

void Widget::paintEvent(QPaintEvent *) {QPainter painter(this);//設置一個矩形QRectF rect(50, 50, 300, 240);painter.drawRect(rect);painter.setPen(QColor(Qt::red));//水平居中顯示 垂直居中painter.drawText(rect, Qt::AlignHCenter | Qt::AlignVCenter, "hello Qt");}

執(zhí)行結果

05. 使用字體繪制文字

為了繪制漂亮的文字,可以使用QFont類來設置文字字體。

程序示例

void Widget::paintEvent(QPaintEvent *) {QPainter painter(this);QFont font("黑體", 15, QFont::Bold, true);//設置下劃線font.setUnderline(true);//設置上劃線font.setOverline(true);//設置字母大小寫font.setCapitalization(QFont::SmallCaps);//設置字符間距font.setLetterSpacing(QFont::AbsoluteSpacing, 10);//使用字體painter.setFont(font);painter.setPen(Qt::blue);painter.drawText(120, 80, tr("hello qt"));painter.translate(50, 50);painter.rotate(90);painter.drawText(0, 0, tr("湖北武漢"));}

創(chuàng)建了QFont字體對象,使用的構造函數(shù)為QFont::QFont ( const QString & family,int pointSize = -1, int weight = -1, bool italic = false ),第一個參數(shù)設置字體的family屬性,這里使用的字體族為黑體,可以使用QFontDatabase類來獲取所支持的所有字體;第二個參數(shù)是點大小,默認大小為12;第三個參數(shù)為weight屬性,這里使用了粗體;最后一個屬性設置是否使用斜體。然后我們又使用了其他幾個函數(shù)來設置字體的格式,最后調用setFont()函數(shù)來使用該字體,并使用drawText()函數(shù)的另一種重載形式在點(120, 80)繪制了文字。后面又將坐標系統(tǒng)平移并旋轉,然后再次繪制了文字。運行程序,效果如下圖所示。

06. 附錄

源碼下載:【Qt】2D繪圖之繪制文字.rar

總結

以上是生活随笔為你收集整理的【Qt】2D绘图之绘制文字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。