QDial에 리소스 이미지를 추가하는 방법은 무엇입니까?Qdial에 리소스 이미지 추가
QDial에 대한 사용자 지정 클래스를 이미 만들었지 만 버튼에 대한 리소스 이미지를 추가하기 위해 어떻게 스타일 시트를 포함시킬 수 있습니까? 예 :
button1->setStyleSheet("border-image:url(:/resources/img/knob.png)");
QDial에 리소스 이미지를 추가하는 방법은 무엇입니까?Qdial에 리소스 이미지 추가
QDial에 대한 사용자 지정 클래스를 이미 만들었지 만 버튼에 대한 리소스 이미지를 추가하기 위해 어떻게 스타일 시트를 포함시킬 수 있습니까? 예 :
button1->setStyleSheet("border-image:url(:/resources/img/knob.png)");
QDial does not support stylesheets (배경색 제외). 그러나, 나는 그것을 어떻게하고 있는지 여기에있다.
경고 : 이것은 전혀 완료되지 않았으며, 어떻게하는지에 대한 아이디어 만 제공합니다.
void QCustomDial::paintEvent(QPaintEvent*)
{
QPainter painter(this);
...
QPoint start(0, 0); //whatever you want
painter.drawPixmap(start, *m_background);
...
}
: class QCustomDial : public QDial
{
Q_OBJECT
Q_PROPERTY(QPixmap backgroundImage READ backgroundImage WRITE setBackgroundImage DESIGNABLE true)
QPixmap* m_background;
public:
QPixmap backgroundImage() { return *m_background; }
void setBackgroundImage(QPixmap pixmap)
{
*m_background = pixmap;
update();
}
private:
QPixmap* m_background;
};
그런 다음 paintEvent에, 당신은 픽스맵을 그릴해야합니다 : 헤더에
는 배경 이미지가 될 것입니다 QPixmap에 대한 속성을 설정
마지막으로, 당신이 원하는 부분, 스타일 시트 : 스타일 시트. 이제 당신이 Q_PROPERTY
을 정의, 당신은 스타일 시트에서 그것을 얻을 수 있습니다 내가 당신을 도울 수 있기를 바랍니다
QCustomDial {
qproperty-backgroundImage: url(:/resources/img/knob.png);
}