- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要的是切换轴标签和刻度以匹配最好的显示英寸和毫米而不改变曲线点。我创建了一个自定义 QwtScaleDraw 并覆盖了 label() 方法,但这不会改变刻度。
class QwtMyScaleDraw : public QwtScaleDraw {
public:
QwtMyScaleDraw() : QwtScaleDraw() {
}
protected:
QwtText label(double value) const {
// global conversion routine that creates a display string either as millimeter or inch
return ConvertToString(value, ConversionFromMillimeter);
}
};
最佳答案
在 qwt 库作者的帮助下,我找到了解决方案。答案来自QwtLinearScaleEngine
类和重载 autoScale
和 divideScale
方法。
在我的实现中,可以选择任何转换因子(默认为 1 = 无转换)。这是我的代码:
class QwtUnitScaleDraw : public QwtScaleDraw {
public:
QwtUnitScaleDraw(double ConversionFactor = 1.0) : QwtScaleDraw(), _ConversionFactor(ConversionFactor) {
}
protected:
QwtText label(double value) const {
return QwtScaleDraw::label(value * _ConversionFactor);
}
protected:
double _ConversionFactor;
};
class QwtUnitScaleEngine: public QwtLinearScaleEngine {
public:
QwtUnitScaleEngine(double ConversionFactor = 1.0) : QwtLinearScaleEngine(10), _ConversionFactor(ConversionFactor) {
}
void autoScale(int maxSteps, double &x1, double &x2, double &stepSize) const {
x1 *= _ConversionFactor;
x2 *= _ConversionFactor;
stepSize *= _ConversionFactor;
QwtLinearScaleEngine::autoScale(maxSteps, x1, x2, stepSize);
x1 /= _ConversionFactor;
x2 /= _ConversionFactor;
stepSize /= _ConversionFactor;
}
QwtScaleDiv divideScale(double x1, double x2, int numMajorSteps, int numMinorSteps, double stepSize = 0.0) const {
x1 *= _ConversionFactor;
x2 *= _ConversionFactor;
stepSize *= _ConversionFactor;
QwtScaleDiv Div = QwtLinearScaleEngine::divideScale(x1, x2, numMajorSteps, numMinorSteps, stepSize);
QList<double> Ticks[QwtScaleDiv::NTickTypes];
Ticks[QwtScaleDiv::MajorTick] = Div.ticks(QwtScaleDiv::MajorTick);
for (unsigned int i = 0; i < Ticks[QwtScaleDiv::MajorTick].count(); i++) {
Ticks[QwtScaleDiv::MajorTick][i] /= _ConversionFactor;
}
Ticks[QwtScaleDiv::MediumTick] = Div.ticks(QwtScaleDiv::MediumTick);
for (unsigned int i = 0; i < Ticks[QwtScaleDiv::MediumTick].count(); i++) {
Ticks[QwtScaleDiv::MediumTick][i] /= _ConversionFactor;
}
Ticks[QwtScaleDiv::MinorTick] = Div.ticks(QwtScaleDiv::MinorTick);
for (unsigned int i = 0; i < Ticks[QwtScaleDiv::MinorTick].count(); i++) {
Ticks[QwtScaleDiv::MinorTick][i] /= _ConversionFactor;
}
return QwtScaleDiv(QwtInterval(x1 / _ConversionFactor, x2 / _ConversionFactor), Ticks);
}
protected:
double _ConversionFactor;
};
关于qt - 更改轴刻度和标签以在 QWT 图中在毫米和英寸之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587571/
我使用 qt-creator 5.2 并在 mac os 10.9 上安装 qwt6.1.0。我关注 guide ,并安装qwt6.1.0成功。 我使用这些cmd: cd $QwtDir qmake
我们已经为 VS2005 编译了 QT 4.6 和 QWT 5.2.0。 我们正在尝试从 QwtDial 派生一个类,并且派生类具有插槽。所以,我们需要添加Q_OBJECT宏。但是,当我们这样做时,链
我正在使用 QWT 6,我试图每秒绘制一些点。为此,我使用以下代码: d_plot_dots->setRawSamples(_realDataPoints, _imagDataPoints, size
我正在使用 qwt 6.1.3 进行一些 Qt 绘图工作,只是为了测试我创建了一个新项目,添加了库,并将 simpleplot.cpp 示例代码粘贴到 Qtcreator 中。 可在此处查看文件拷贝:
我正在使用 qwt plot curve 来绘制曲线。x 轴和 y 轴不可见,只有曲线可见。如何通过显示一些第一个、最后一个和中间值来显示轴轴的刻度间隔 最佳答案 我举个小例子: // xBot
这是我在这里的第一个问题,我相信我还没有看到其他人问过这个具体问题,但我目前正在处理的是一个不想重新绘制的 qwt 图。 我想做什么:调用 replot() 方法来清除我当前的绘图。 我的问题:调用
几周前我开始使用 Qt,我非常喜欢它。我现在需要在我的应用程序中包含图形,经过一些研究,我发现 Qwt 是最好的方法(而不是必须自己从头开始做所有事情)。我已经用了几天了,但我无法弄清楚如何安装它。我
我有一个 QwtPlot,我希望改变轴比例而不必改变自己绘制的点的值。 在我的应用程序中,我在 [-10,10] V 范围(两个轴)内绘制以伏特为单位的点。我想通过将每个轴乘以一个以 nm/V 为单位
我正在尝试使用 qt 4.8 和 qwt 6 绘制一些数据,但我的曲线没有按比例缩放到图上 (1)。 这就是我将曲线附加到绘图的方式: curves[moduleIndex][channelIndex
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在尝试安装 QWT 库,我在 Ubuntu 操作系统上使用 QT 5.2。我使用了以下命令。 svn checkout svn://svn.code.sf.net/p/qwt/code/branc
我想要的是切换轴标签和刻度以匹配最好的显示英寸和毫米而不改变曲线点。我创建了一个自定义 QwtScaleDraw 并覆盖了 label() 方法,但这不会改变刻度。 class QwtMyScaleD
我最初使用C 编程语言。但是现在,我需要使用 Qt 编程(顺便说一句,Qt 就像一个梦)。我将一步步深入。但是我的C++面向对象知识薄弱,希望它能强一点。现在我必须使用 Qwt 并且我卡在了 QwtS
我正在尝试使用 QWT 绘制一个没有任何标题或轴标签的图。不绘制标题似乎很容易,你所要做的就是不在标题中传递它,或者如果已经有一个,只需给它一个空字符串(像这样): ui->plot->setAxis
qwt 示波器示例生成正弦波,对于我的项目,我想生成方波或余弦波。 我试图找出产生正弦波的位置,但没有找到。 任何帮助将不胜感激谢谢 最佳答案 要生成“数学方波”,即非带限方波,请使用以下代码: do
我尝试使用 Qwt 和 C++ 构建图表演示。我已将以下代码添加到按钮单击处理程序中: QwtPlot *plot = new QwtPlot(QwtText("Demo")); plot->setG
我想使用 Qwt 绘制半对数图表。我不了解 Qwt,但我正在寻找一些示例来指导我的代码。问题是目前我找不到人。你能帮我一个简单的代码吗?我想使用一个矩阵,我可以在其中获取 x 轴和 y 轴值并使用它们
我尝试在 QT 5.8 中做速度计。我使用小部件 QWT 拨号。但我有问题显示单位标签 (km/h)。我用谷歌,但我没有找到它。我该怎么做?谢谢 最佳答案 我提出的解决方案是创建一个继承自QwtDia
我正在尝试使用Qt(c++)创建一个程序,该程序可以使用QAudioinput和QIODevice从麦克风记录音频。 现在,我想可视化我的信号 任何帮助,将不胜感激。谢谢 [Edit1] -从您的评论
在 Qwt 中,是否可以将两个轴的位置从左下角(默认位置)更改为 QwtPlot 的中间? (两个轴的交点应位于图的中心)。我还没有找到一段代码可以做到这一点。 myPlot = new QwtPlo
我是一名优秀的程序员,十分优秀!