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