Advertisement

基于Qt框架开发的C++画板程序(包含源代码和可执行文件)。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); // 将 pixmap 赋予初始值,创建 pixmap 对象,尺寸为 900x600,并填充白色背景。 // 设置背景色 pixmap = new QPixmap(900, 600); // 设置背景色 pixmap->fill(Qt::white); // 根据创建的 pixmap 对象创建一个 QPainter 对象,用于绘图。 // 根据 pixmap 对象创建一个 QPainter painter= new QPainter(pixmap); // 使用 pixmap 对象作为绘制区域,并将该控件添加到 UI 界面中的 pixmap_label 标签上。 // 将 pixmap 对象设置为 pixmap_label 标签的图像。 ui->pixmap_label->setPixmap(*pixmap); // 连接 linecolor_r_slider 的valueChanged 信号与 linecolor_changed 函数槽,当红色滑块的值发生变化时触发。 connect(ui->linecolor_r_slider,SIGNAL(valueChanged(int)),this,SLOT(linecolor_changed())); // 连接 linecolor_g_slider 的valueChanged 信号与 linecolor_changed 函数槽,当绿色滑块的值发生变化时触发。 connect(ui->linecolor_g_slider,SIGNAL(valueChanged(int)),this,SLOT(linecolor_changed())); // 连接 linecolor_b_slider 的valueChanged 信号与 linecolor_changed 函数槽,当蓝色滑块的值发生变化时触发。 connect(ui->linecolor_b_slider,SIGNAL(valueChanged(int)),this,SLOT(linecolor_changed())); // 连接 fillcolor_comboBox 的currentTextChanged 信号与 fillcolor_changed 函数槽,当下拉框的选择发生改变时触发。 // 初始化填充颜色下拉框,添加 黑色、白色、红色、绿色、蓝色 和 黄色 这些选项到下拉框中。 ui->fillcolor_comboBox->addItem(黑色); ui->fillcolor_comboBox->addItem(白色); ui->fillcolor_comboBox->addItem(红色); ui->fillcolor_comboBox->addItem(绿色); ui->fillcolor_comboBox->addItem(蓝色); ui->fillcolor_comboBox->addItem(黄色);}MainWindow::~MainWindow(){ delete ui; delete pixmap; delete painter; delete linecolor;delete fillcolor;delete circle,rect;}// 定义一个函数来执行按钮被点击时的绘图操作:void MainWindow::on_draw_button_clicked(){ 如果当前选项卡是第一个选项卡(画圆),则创建一个 Circle 对象并将其绘制到 painter 对象上。 如果当前选项卡是第二个选项卡(画矩形),则创建一个 Rect 对象并将其绘制到 painter 对象上。 将更新后的 pixmap 设置为 pixmap\_label 标签的图像。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • QtC++绘图(附带
    优质
    本项目为一个使用Qt框架编写的C++绘图应用程序,提供丰富的绘图功能,并包含完整源码和可执行文件。适合学习与参考。 以下是代码的简化版本: ```cpp MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 给pixmap赋值并设置背景色 pixmap = new QPixmap(900, 600); pixmap->fill(Qt::white); // 根据pixmap创建一个qpainter,并将控件添加到UI中 painter= new QPainter(pixmap); ui->pixmap_label->setPixmap(*pixmap); // 初始化填充颜色下拉框并关联信号和槽函数 connect(ui->linecolor_r_slider, SIGNAL(valueChanged(int)), this, SLOT(linecolor_changed())); connect(ui->linecolor_g_slider, SIGNAL(valueChanged(int)), this, SLOT(linecolor_changed())); connect(ui->linecolor_b_slider,SIGNAL(valueChanged(int)),this,SLOT(linecolor_changed())); ui->fillcolor_comboBox->addItem(黑色); ui->fillcolor_comboBox->addItem(白色); ui->fillcolor_comboBox->addItem(红色); ui->fillcolor_comboBox->addItem(绿色); ui->fillcolor_comboBox->addItem(蓝色); ui->fillcolor_comboBox->addItem(黄色); connect(ui->fillcolor_comboBox,SIGNAL(currentTextChanged(QString)),this,SLOT(fillcolor_changed())); } MainWindow::~MainWindow() { delete ui; delete pixmap; delete painter; // 删除其他未在类中定义的指针 if(linecolor) {delete linecolor;} if(fillcolor){delete fillcolor;} if(circle) {delete circle;} if(rect) {delete rect;} } // 绘制按钮点击事件处理函数 void MainWindow::on_draw_button_clicked() { int index = ui->tabWidget->currentIndex(); // 根据选项卡索引绘制圆或矩形 if (index == 0) { circle = new Circle(new QPoint(ui->circle_x_spinBox->value(),ui->circle_y_spinBox->value()),ui->circle_r_spinBox->value()); circle->draw(painter); } else if(index==1) { rect=new Rect(new QPoint(ui->rect_x_spinBox->value(),ui->rect_y_spinBox->value()), ui->rect_a_spinBox->value(), ui->rect_b_spinBox->value()); rect->draw(painter); } // 更新UI显示 ui->pixmap_label->setPixmap(*pixmap); } // 设置边线颜色的函数 void MainWindow::linecolor_changed() { linecolor = new QColor(ui->linecolor_r_slider->value(),ui->linecolor_g_slider->value(),ui->linecolor_b_slider->value()); painter->setPen(*linecolor); // 更新显示的颜色标签背景色 QPalette label_palette; label_palette.setColor(QPalette::Background, *linecolor); ui->linecolor_display_label->setAutoFillBackground(true); ui->linecolor_display_label->setPalette(label_palette); } // 设置填充颜色的函数 void MainWindow::fillcolor_changed() { QString str = ui->fillcolor_comboBox->currentText(); // 根据选择的颜色设置QColor对象 if (str == 黑色) fillcolor = new QColor(Qt::black); else if(str==蓝色) fillcolor =new QColor(Qt::blue); ... painter->setBrush(QBrush(*fillcolor)); } // 清除按钮点击事件处理函数 void MainWindow::on_clear_button_clicked() { pixmap->fill(Qt::white); ui->pixmap_label->setPixmap(*pixmap); } ``` 以上代码简化了原始的实现,并去除了不必要的注释和冗余信息。同时,为了方便阅读和理解,在一些地方进行了适当的结构调整及说明补充。
  • PyQt5QT全面串口调试软
    优质
    这是一款利用PyQt5和QT框架打造的强大串口调试工具,提供详细的配置选项、数据传输与接收功能。本软件包涵了完整源码及编译好的执行程序,方便用户自定义开发或直接使用。 使用PyQt5与QT编写的完整串口调试工具示例代码实现了选择串口号、波特率等功能,并支持数据的收发操作。该程序可以通过pyinstaller生成exe文件,在没有安装Python环境的情况下,只需安装VS2015的VC++库即可运行此exe文件。提供的项目包括完整的UI设计及源代码,可以直接在Qt中打开工程进行查看和使用。
  • C++利用QtQOpenGLWidget模块绘图
    优质
    本项目使用C++结合Qt框架下的QOpenGLWidget模块,实现了一个高效的图形绘制程序。包含完整源码和编译后可执行文件,便于学习与实践OpenGL高级特性。 本系统计划开发一个画图板,支持多种常见图形的基本操作。这些功能包括: - 二维图形的输入:用户可以绘制或清除直线、矩形、圆、椭圆、多边形以及文本等。 - 图形变换:通过鼠标拖拽实现平移;使用按钮控制左右旋转和翻转。当前已实现在直线上指定角度及基点进行旋转的功能,其他图元需重写相应函数以完成同样操作。 - 标注功能:目前仅在直线上的标注已完成开发,其余图形的标注只需依照现有模式编写相关代码即可实现相同效果。 - 文本编辑:允许用户通过双击鼠标来修改文本内容。 使用环境如下: IDE: Qt Creator 9.0.2 (Community) Qt版本: Qt 5.15.2 编程语言: C/C++
  • QTMiniDraw
    优质
    MiniDraw是一款基于QT框架开发的简易绘图软件,为用户提供直观、便捷的绘画与编辑功能,适用于创意设计和日常记录。 基于Qt中的widget实现的简单画板程序提供了椭圆、直线、多边形、自由线和矩形的基本图元绘制功能。如有问题可以找我交流。
  • Qt时间提醒
    优质
    这是一个使用Qt框架开发的时间提醒程序项目,包含了源代码和编译好的可执行文件。用户可以轻松设置提醒事项,并在设定时间接收通知。 用Qt编写了一个时间提醒程序的源码和可执行程序。
  • 童心党史小-django+vue+uniapp.zip(及sql
    优质
    此资源为一个结合了Django、Vue和UniApp技术栈的小程序开发代码包,专用于“童心党史”项目。内含可执行源代码以及数据库SQL文件,便于快速部署与学习。 童心党史小程序是一个很好的项目,采用了 Python-Django 框架、前端 Vue.js 和 uniapp 技术。
  • C#个人财务管理软档).zip
    优质
    这是一款使用C#语言开发的个人财务管理软件,内附源代码、可执行文件和详细开发文档。用户可以轻松管理收支情况,并进行预算规划与财务分析。 产品概述:这是一款简单实用的桌面个人理财软件,旨在满足家庭和个人的财务管理需求。它提供了账户管理、收支记录、借贷管理和统计分析等功能。 业务背景:随着人们对于个人财务自动化的迫切需求增加,市场上现有的专业大型商业软件往往价格昂贵且功能复杂,并不能完全符合个人用户的需求。因此,我们开发了一款免费、简单易用的小型理财工具来填补这一市场空白。 IT背景:当前市面上的电子理财应用程序大多数都偏向于企业级别使用,主要服务于公司和部门层面。然而,随着人们对个人财务管理的关注度日益提高,迫切需要一款适合日常使用的简易软件来进行资金管理。 目标定位:本款软件致力于解决家庭和个人在财务规划方面遇到的问题,并提供便捷的方式让使用者随时掌握自己的收支状况。 业务范围: - 项目名称:个人理财软件 - 功能需求包括但不限于账户管理和维护、收入与支出记录、借贷事务处理以及各项数据的统计分析。此外,还支持用户自定义收支分类规则、家庭成员信息及银行机构设置等个性化选项。 - 数据存储方式:采用XML文件格式保存所有相关信息,并通过打开解决方案来启动应用程序进行使用。
  • C# 生命游戏
    优质
    本资源包含一个用C#开发的生命游戏完整程序,内附源代码与可直接运行的exe文件,适合编程爱好者学习和研究。 直接下载并运行这个软件可以用来应付老师的验收。直接下载并运行这个软件可以用来应付老师的验收。直接下载并运行这个软件可以用来应付老师的验收。
  • QT音视频播放器(
    优质
    这是一款基于QT框架开发的音视频播放软件,支持多种格式文件,界面简洁易用,功能全面,能够满足日常娱乐及工作需求。 QT开发的音视频播放器支持单路与多路播放功能,并具备软硬解码能力。它能够处理本地文件及实时流媒体内容,同时提供录像截图、YUV与RGB显示等多种实用特性。此外,该播放器还允许用户调节音量大小并查看码流信息,进度条跳转操作也十分便捷。整体而言,这款播放器稳定可靠且功能全面。
  • Python超级设计与实现().zip
    优质
    本资源提供了一个基于Python语言开发的超级画板软件设计与实现方案,包含完整源代码和可执行文件。适合编程学习者和爱好者研究使用。 基于Python的超级画板设计与实现(源码+可执行文件).zip 该压缩包包含了使用Python语言开发的一个高级绘图工具的设计文档、源代码以及可以直接运行的程序文件,旨在为用户提供一个功能强大的图形绘制平台。