我想添加QChart
到表单中.但我在Widget Box中找不到它.所以我在代码中创建了它.我怎样才能将其插入QWidget
或者QFrame
还是其他什么东西?
我想在QtDesigner中设置该小部件的区域.
我试图在 QChartView 中绘制更多信息,所以我重新实现了paintEvent
virtual void paintEvent(QPaintEvent *event) {
QChartView::paintEvent(event);
OmenChart *mchr = dynamic_cast<OmenChart *>(this->chart());
if(mchr == nullptr)
return;
QPainter painter(this);
const int labelOffset = 2 + 2;
painter.setFont(this->font());
painter.setPen(QPen(Qt::black));
QFontMetrics fm(painter.font());
const OmenScatterSeries *omnSr = mchr->serie();
QVector<QPointF> points = omnSr->pointsVector();
QStringList labels = omnSr->pointLabels();
for (int i(0); i < labels.count(); i++) {
QString pointLabel = labels[i];
// Position text in relation to the point
int pointLabelWidth = fm.width(pointLabel);
QPointF position(points.at(i));
position.setX(position.x() - pointLabelWidth / 2);
position.setY(position.y() - labelOffset);
painter.drawText(position, pointLabel); …
Run Code Online (Sandbox Code Playgroud) 我有一个与这里的问题类似的问题:How to insert QChartView in form with Qt Designer?
所以我在 Qt Designer 中创建了我的 UI 的 MainWindow 并且我试图让一个QtChart
显示在我的窗口中的一个选项卡中。我正在将 .ui 文件导入 python 程序,到目前为止我可以让主窗口正常显示,但不能正常显示图表。我花了一天的大部分时间尝试按照上述答案中列出的说明进行操作,但到目前为止,我还无法将我升级的小部件正确导入到我的主程序中。我一直在想,部分原因是否是我尝试在 Qt 的 Python 版本(即 PySide2)而不是 C++ 版本中执行此操作,这个答案可能是为之编写的。
我已经尝试使用 aQWidget
和推荐QGraphicsView
作为我的基础来提升我QChartView
的目标,但到目前为止,每次尝试都会给我一个错误:
"QFormBuilder was unable to create a custom widget of the class 'QChartView'; defaulting to base class 'QWidget'."
我做错了什么?
就像链接的问题/答案状态一样,我将我的升级小部件设置为“升级类名称”QChartView
和“头文件” QtCHarts
。下面是我的 Python 程序的基本代码(一开始忽略我奇怪的导入,因为这是我正在处理的一个单独的问题,除非我以这种方式格式化它们,否则我的程序将找不到类导入。)
任何帮助将不胜感激!谢谢!
import sys
import PySide2.QtCore as Qt_Core
import PySide2.QtGui as Qt_Gui
import PySide2.QtWidgets as Qt_Widgets
import …
Run Code Online (Sandbox Code Playgroud)