首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt 之图形(QPainter 的基本绘图)「建议收藏」

    简述 Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。...QPainter 用于执行绘图操作,其提供的 API 在 GUI 或 QImage、QOpenGLPaintDevice、QWidget 和QPaintDevice 显示图形(线、形状、渐变等)、文本和图像...此外,QPainter 也支持一些高级特性,例如反走样(针对文字和图形边缘)、像素混合、渐变填充和矢量路径等,QPainter 也支持线性变换,例如平移、旋转、缩放。...painter.drawText(rect(), Qt::AlignCenter, "Qt"); } 首先为该部件创建了一个 QPainter 对象,用于后面的绘制。...,最后调用 drawText() 来实现文本的绘制,这里的 rect() 是指当前窗体的显示区域,Qt::AlignCenter 指文本居中绘制。

    5.8K41

    Qt 报表实现(三)---QPainter+QPrinter

    Qt报表实现-QPainter + QPrinter QPainter是可以在QPrinter上绘制图形和文字的,利用这个方法,可以绘制任何图形或者文字、表格等,可以实现复杂的表格绘制,如果报表比较特殊...报表绘制 实现简介 我这边里封装了一个报表打印类,用于打印报表,当前并没有传入数据和参数,实际实际项目是需要传入参数和数据的。...void printDocument(QPrinter *printer); 打印版式设置 横向打印和纵向打印; 打印方向 Portrait 纵向,Landscape:横向 使用如下函数设置 enum...ScreenResolution); printer.setPageSize(QPrinter::A4); printer.setOrientation(QPrinter::Portrait); //打印方向...QPrinter::A4); QPrintDialog printDialog(&printer); printer.setOrientation(QPrinter::Portrait); //打印方向

    1.9K21

    PySide6 GUI 编程(43):自定义 QWidget

    自定义绘制: paintEvent 允许开发者在控件上绘制自定义内容,比如图形、文本、图像等。通过重写这个方法,可以实现复杂的自定义界面。...使用 QPainter: 在 paintEvent 中,通常会使用 QPainter 类来执行绘制操作。QPainter 提供了丰富的绘图功能,包括绘制线条、矩形、圆形、文本等。...font = QFont('ComicShannsMono Nerd Font', 20) painter.setFont(font) painter.drawText...接受两个参数,分别表示控件在水平方向和垂直方向上的大小策略 # QSizePolicy.Policy.MinimumExpanding 表示控件的最小扩展策略 # 具体来说...,这个值是静态值 self.setMinimumSize(100, 100) # setSizePolicy 接受两个参数,分别表示控件在水平方向和垂直方向上的大小策略

    37366

    Qt中国象棋一—— Qt 2D 绘图入门

    Qt的2D绘图是基于QPainter类的。QPainter既可以绘制几何图形(点、线、矩形、椭圆、弧形、饼状图、多边形和贝塞尔曲线等)也可以绘制像素映射、图像和文字。...如图,左上角顶点是坐标原点(0,0),X轴向右为正,Y轴向下为正,默认每个像素占1×1大小的像素。视口、窗口、世界矩阵等概念有兴趣的同志们可以深入了解下。 ?...其中drawLine()传入的参数是线段的起点和终点,所以该线段是可以随着窗口的变化而变化的。效果如图: ?...三、画文本与画矩形 这次是绘图逻辑分离出来,然后在paintEvent(QPaintEvent *event)中调用。...::Antialiasing, true); // 设置画笔颜色、宽度painter.setPen(QPen(Qt::magenta,3)); painter.drawText(rect,

    1.8K10

    Qt编写自定义控件38-高亮按钮

    二、实现的功能 1:可设置文本,居中显示 2:可设置文本颜色 3:可设置外边框渐变颜色 4:可设置里边框渐变颜色 5:可设置背景色 6:可直接调用内置的设置 绿色/红色/黄色/黑色/蓝色 等公有槽函数...*painter); void drawBorderIn(QPainter *painter); void drawBg(QPainter *painter); void drawText...每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...不定期增加控件和完善控件,不定期更新SDK,欢迎各位提出建议,谢谢!

    1.7K00

    Qt开源作品7-高亮按钮控件

    高亮按钮控件功能: 可设置文本,居中显示 可设置文本颜色 可设置外边框渐变颜色 可设置里边框渐变颜色 可设置背景色 可直接调用内置的设置 绿色/红色/黄色/黑色/蓝色 等公有槽函数 可设置是否在容器中可移动...,当成一个对象使用 可设置是否显示矩形 可设置报警颜色+非报警颜色 可控制启动报警和停止报警,报警时闪烁 二、代码思路 //绘制外边框 void LightButton::drawBorderOut(QPainter...drawEllipse(-radius, -radius, radius * 2, radius * 2); painter->restore(); } //绘制文字 void LightButton::drawText...painter->setPen(textColor); QRect rect(-radius, -radius, radius * 2, radius * 2); painter->drawText...drawPath(highlight); painter->restore(); } 三、效果图 [lightbutton.gif] 四、开源主页 以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量

    66940

    Qt编写自定义控件6-指南针仪表盘

    setLightColor(const QColor &lightColor); //设置前景色 void setForeground(const QColor &foreground); //设置文本颜色...(textRect, Qt::AlignTop | Qt::AlignHCenter, "N"); painter->drawText(textRect, Qt::AlignBottom | Qt...每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。...不定期增加控件和完善控件,不定期更新SDK,欢迎各位提出建议,谢谢! [在这里插入图片描述] [在这里插入图片描述]

    1.5K40

    Qt自定义控件之仪表盘的完整实现

    最后再对其中的一个的实现做详细的原理实现和细节介绍。...表盘的实现是基于QT的QPainter类中的绘图方法,自定义实现一个QWidget控件。 将表盘分解析为3个组成部分。表盘的外形轮廓、指针和显示的当前速度的数值。...外形轮廓由一个圆弧和一些指示刻度组成,它的绘制肯定要使用QT中的画圆弧的函数、画线函数还有显示文本函数。 指针是一个不规则的多边形,它的绘制会用到QT中的绘制多边形的函数。...显示当前速度值比较简单些,直接使用显示文本函数绘制。 先有了静态部分的基础,再开始考虑指针的动态旋转过程和旋转过程中的渐变效果是如何实现的。 指针旋转的角度应该和当前的转速相互对应。...我们知道了每个刻度线对应的角度和半径,我们就可以求出每条刻度线的起点和终点,公式如下: int x = 圆心的横坐标 + 半径 * cos(角度 * π / 180); int y = 圆心的纵坐标 +

    2.2K10
    领券