QT| “无法粘贴窗口部件”错误以及customplot安装使用

"无法粘贴窗口部件"错误以及customplot

"无法粘贴窗口部件"错误

情景:使用QT设计界面,很多部分比较类似,可以复制另一个界面的ui,但是粘粘的时候会报错"无法粘贴窗口部件"。

错误提示:无法粘贴窗口部件。设计师找不到一个没有布局的容器来包含它。

方法:需要复制的UI布局要拆分,要复制放进的父类布局也拆分。

customplot

customplot能用来画图和数据可视化。

下载

去官网下载:https://www.qcustomplot.com/index.php/download

下载需要版本的QCustomPlot的压缩包QCustomPlot.tar.gz。

添加到项目中

把解压后的h和cpp文件复制到项目文件夹,并在项目中添加现有文件。

检查一下pro文件有没有把相应的QT变量添加进去有些版本要手动添加。

cpp 复制代码
QT += printsupport

QMAKE_CFLAGS += -Wa,-mbig-obj
QMAKE_CXXFLAGS += -Wa,-mbig-obj

使用QCustomPlot

在ui中,先生成一个QWidget,然后右键提升为QCustomPlot。

ui设计里面不会有变化,但是运行后界面上会有变化。

常用的代码

前面ui中的QCustomPlot我命名为了alinePlot,下面是一些常用的建立曲线的代码。

cpp 复制代码
	QVector<double> x(1000), y(1000); //初始化向量x和y
    for (int i=0; i<1000; ++i)
    {
        x[i] = i; // x范围[-1,1]
        y[i] = x[i]*x[i]; // y=x*x
    }
	// x和y
    ui->alinePlot->xAxis->setLabel("Pixels");// x坐标题目
    ui->alinePlot->xAxis->setRange(0,2048);// x坐标范围
    ui->alinePlot->yAxis->setLabel("Intensity");// y坐标题目
    ui->alinePlot->yAxis->setRange(0,65535);// y坐标范围
    // 图例
    ui->alinePlot->legend->setVisible(true);// 图例显示
    ui->alinePlot->legend->setBrush(QColor(255,255,255,0));//图例背景
    // 添加曲线
    ui->alinePlot->addGraph();// 创建新画布,每个Graph及其上的线构成一幅图
    ui->alinePlot->graph()->setPen(QPen(Qt::red));// 设置画笔颜色
    ui->alinePlot->graph(0)->setVisible(true);// 可视化
    ui->alinePlot->setData(x,y);// 添加数据
    ui->alinePlot->graph(0)->setName("data");// 曲线名称
    ui->alinePlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); // 允许用户用鼠标拖拉、缩放任一幅图
    // 坐标轴图案
    ui->alinePlot->xAxis->setUpperEnding(QCPLineEnding::esFlatArrow);// 末尾箭头
    ui->alinePlot->yAxis->setUpperEnding(QCPLineEnding::esFlatArrow);// 末尾箭头

效果如下:

相关推荐
勇敢牛牛_9 分钟前
Rust真的适合写业务后端吗?
开发语言·后端·rust
要加油GW16 分钟前
python使用vscode 需要配置全局的环境变量。
开发语言·vscode·python
B站计算机毕业设计之家20 分钟前
python图像识别系统 AI多功能图像识别检测系统(11种识别功能)银行卡、植物、动物、通用票据、营业执照、身份证、车牌号、驾驶证、行驶证、车型、Logo✅
大数据·开发语言·人工智能·python·图像识别·1024程序员节·识别
_OP_CHEN41 分钟前
从零开始的QT开发指南:(一)背景、特性与环境搭建
qt·qt下载·图形化界面·gui框架·qt环境配置·qt sdk配置·qt环境变量配置
ceclar1231 小时前
C++日期与时间
开发语言·c++
懒羊羊不懒@1 小时前
JavaSe—泛型
java·开发语言·人工智能·windows·设计模式·1024程序员节
Zhangzy@1 小时前
Rust Workspace 构建多项目体系
开发语言·前端·rust
麦麦鸡腿堡1 小时前
Java的三代日期类(Date,Calendar,LocalDateTime)
java·开发语言
一点七加一4 小时前
Harmony鸿蒙开发0基础入门到精通Day07--JavaScript篇
开发语言·javascript·ecmascript
qq_574656255 小时前
java后端初始化模版
java·开发语言