Как получить событие рисования для кнопок в QT - PullRequest
3 голосов
/ 11 февраля 2010

Я новичок в QT, я пробовал много примеров поиска того, как получить событие рисования кнопки в QT .. я не получаю способ сделать это ..

как установить делегатов для кнопки в QT ?. как получить событие рисования для кнопки?

Я прочитал так много статей, там написано, что мы можем получить событие рисования кнопки, которую мы тоже можем настроить. но я не получил кусок кода, как получить событие рисования ..

Я пытаюсь сделать этот пример, подклассифицируя все еще, я не получаю событие. пожалуйста, скажи мне, где я не прав

  class Mybutton:QPushButton
    {
public:
    Mybutton(QObject *parent = 0){}
    void paintEvent ( QPaintEvent * );

    };




void Mybutton::paintEvent(QPaintEvent* Paint)
    {

    Paint->rect();

    }



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QPushButton *Newbutton = new QPushButton();
    Newbutton->move(20,30);
    Newbutton->show();



    return a.exec();
}

до сих пор я не могу получить события.

Пожалуйста, помогите мне в этом.

Спасибо

Ответы [ 2 ]

3 голосов
/ 11 февраля 2010

Вам нужно создать подкласс QPushButton и переопределить paintEvent().

0 голосов
/ 11 февраля 2010
  1. Подкласс QPushButton, например class MyButton : public QPushButton.... Вы, кажется, скучаете по публике.

  2. paintEvent - это защищенный метод, поэтому ваше общедоступное переопределение будет работать некорректно.

  3. Это не называется созданием делегата для QPushButton. Что вы делаете, так это то, что вы подклассифицируете его и повторно реализуете его paintEvent.

...