QWT的配置和使用(1)

QWT的配置和使用

qwt简介

qwt库包含了GUI组件和一些工具类,主要用在一些含有技术背景的程序开发上。这个2D图形框架包含了标尺,滑块,表盘,罗盘,温度计,圆盘及旋钮等组件来控制和显示数值,数组等。
qwt下载
得到修复所有bug的最新5.2版本的快照

svn export svn://svn.code.sf.net/p/qwt/code/branches/qwt-5.2 

得到修复所有bug的最新6.1版本的快照

svn export svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1 

编译和安装
1)配置
qwt有两个文件需要配置:
qwtbuild.pri
这个文件包含了构建qwt的设置。所有设置仅仅用于构建qwt本身。通常并不需要修改。
qwtbuild.pri
定义了哪一个模块将会被构建 及安装到什么地方。
2)编译和安装

cd qwt-6.1
qmake qwt.pro
make
sudo make install

建立一个QWT应用
有两种不同的方式在qt应用中使用qwt。
1)添加qwt作为qt的特性
如果要使用qmake的特性机制,可以绑定一个特定版本的qmake到一个特定的qwt上,而不必添加依赖到应用项目中。关于怎样添加qws作为一个特新,可以参考qmake docs。
在qws添加成特性之后,配置成常用属性

qmake -set QMAKEFEATURES ${QWT_ROOT}/features

下面一行添加到应用项目文件中

CONFIG += qwt

2)在应用的项目文件(.pro)中添加一下代码*

include ( ${QWT_ROOT}/features/qwt.prf )
Qt使用MinGW配置QWT库的过程主要包括下载QWT源码、编译并安装到指定目录,然后在Qt Creator中正确设置包含路径库路径。以下是具体步骤: ### 3.1 准备工作 确保你已经安装了以下组件: - **Qt for Windows**(例如 Qt 5.8.0 MinGW 静态编译版本)[^2] - **MinGW 编译器工具链** - **QWT 源码包**(如 qwt-6.1.3) 将 QWT 源码解压后重命名为 `qwt` 并放置在便于管理的目录下,例如直接放在 Qt 安装目录下以便后续查找[^1]。 --- ### 3.2 配置与编译 QWT 进入 QWT 源码目录下的 `qwt` 文件夹,找到其 `.pro` 文件,使用 Qt 的命令行工具进行编译。 #### 3.2.1 修改 `.pro` 文件(可选) 打开 `qwt.pro` 文件,确认是否启用了所需的模块,例如: ```qmake QWT_CONFIG += QwtDll ``` 如果你希望构建静态库或启用其他功能,也可以在此处修改相应配置。 #### 3.2.2 使用 qmake 构建 在命令行中切换到 QWT 源码目录,并执行以下命令: ```bash qmake qwt.pro mingw32-make mingw32-make install ``` 默认情况下,QWT 会安装到系统默认路径(如 `C:\Qt\Tools\mingw...` 下的 `include` `lib` 目录),你也可以通过修改 `qwtconfig.pri` 中的 `QWT_INSTALL_PREFIX` 来自定义安装路径。 --- ### 3.3 在 Qt Creator 中配置 QWT #### 3.3.1 添加包含路径库路径 在你的项目 `.pro` 文件中添加以下内容以链接 QWT: ```qmake INCLUDEPATH += C:\path\to\qwt\include LIBS += -LC:\path\to\qwt\lib -lqwt ``` 请根据实际安装路径修改上述路径。 #### 3.3.2 设置环境变量(可选) 为了确保运行时能够找到 QWT 的 DLL 文件(如果使用动态库),可以将 QWT 的 `bin` 路径添加到系统环境变量 `PATH` 中,或者在程序启动前手动复制 DLL 到可执行文件所在目录[^3]。 --- ### 3.4 示例代码:使用 QWT 绘图控件 以下是一个简单的示例,展示如何在 Qt Widgets 应用中使用 QWT 的绘图组件: ```cpp #include <QApplication> #include <qwt_plot.h> #include <qwt_plot_curve.h> int main(int argc, char *argv[]) { QApplication app(argc, argv); QwtPlot plot; plot.setTitle("Simple QWT Plot"); plot.setAxisTitle(QwtPlot::xBottom, "X Axis"); plot.setAxisTitle(QwtPlot::yLeft, "Y Axis"); QwtPlotCurve *curve = new QwtPlotCurve(); curve->setTitle("Data"); curve->setPen(Qt::blue); double x[10], y[10]; for (int i = 0; i < 10; ++i) { x[i] = i; y[i] = i * i; } curve->setSamples(x, y, 10); curve->attach(&plot); plot.resize(800, 600); plot.show(); return app.exec(); } ``` 别忘了在 `.pro` 文件中加入: ```qmake QT += widgets ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值