0
问题
我想创建一个按钮小部件,具有以下要素:是否可以从子类和父类中绘制QWidget?
- 配置背景颜色
- 按钮尺寸,透明图标
- 可配置定位文本
因为我更喜欢QPushButton
而不是QToolButton
,所以我面临着已知的问题(请参阅here和here)图标/文本对齐。
所以我的做法是专门QPushButton
类和覆盖paintEvent
方法(请参阅下面的代码)。如果我只需手动绘制文本并将剩下的部分(图标和背景)留给父类,那就太好了。但是,现在似乎没有画出文字。
这是可能的,我的错误是在别的地方,还是我必须自己画?
代码
class MyPushButton : public QPushButton
{
public:
MyPushButton() : QPushButton() {}
virtual ~MyPushButton() = default;
protected:
virtual void paintEvent(QPaintEvent* e) override {
QPushButton::paintEvent(e);
QPainter p(this);
p.drawText(0,0, "label");
}
};
我也这么认为,但没有成功。也许我在这里画了一些错误的东西: 'QPainter p(this);' 'p.drawText(0,0,“label”);' – bunto1
编辑作品,是的,我会标记即被接受。为什么这个问题不起作用将是另一个问题。谢谢! – bunto1
@ bunto1:的确,如果你想出来的话,请详细说明:) – PRIME