【问题标题】:Qt paint on a widget created by QT Designer在 QT Designer 创建的小部件上绘制 Qt
【发布时间】:2015-03-22 19:50:48
【问题描述】:

如何在不覆盖paintEvent 的情况下在小部件上绘画。

我想在 Qt Designer 生成的另一个小部件内绘制一个小部件,所以我无法覆盖它的 paintEvent

我试过直接这样画:

QPainter *painter= new QPainter(ui->drawArea);
painter.drawLine(50,50,50,150);
painter.close();

但是 Qt 告诉我 QPainDevice 是 0 或类似的东西,

我通过创建画家尝试了相同的示例,然后使用 QPaintDevice(小部件)调用 begin() 方法,但同样的问题。

Qt 版本:4.8.6.

【问题讨论】:

标签: qt user-interface qt-designer qpainter paintevent


【解决方案1】:

在 Designer 中使用自定义小部件不是问题。在 Designer 中,将您的小部件添加为任何其他 QWidget 或 QPushButton,具体取决于哪个具有最接近的继承。然后使用右键菜单选择Promote to ...,添加您的MyWidget.h,然后将小部件升级为MyWidget,并重新实现paintEvent()。阅读更多:

http://doc-snapshots.qt.io/4.8/designer-using-custom-widgets.html#promoting-widgets

【讨论】:

    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2022-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多