ich möchte einen eigene Button-Klasse erzeugen. Deshalb habe ich eine Klasse MyButton von QAbstractButton abgeleitet. Aber beim Kompilieren gibt es einen Fehler, die Methoden show() und resize() werden anscheinend nicht gefunden. Aber ich dachte, dass QAbstractButton die von QWidget erbt und dass die dann auch in meiner Klasse vorhanden sein müssten? Anscheinend habe ich da noch einen Denkfehler. Hier mal mein Code und darunter die Fehlermeldung.
Datei: MyButton.h
Code: Alles auswählen
#ifndef _MYBUTTON
#define _MYBUTTON
#include <QAbstractButton>
class MyButton : public QAbstractButton
{
public:
MyButton(QWidget *parent=0);
void paintEvent(QPaintEvent*);
};
#endif
Code: Alles auswählen
#include "MyButton.h"
#include <QtGui>
MyButton::MyButton(QWidget *parent)
: QAbstractButton()
{
setCheckable(true);
}
void MyButton::paintEvent(QPaintEvent*)
{
QPainter painter(this);
QRect rectangle(88,63,25,25);
QPen myPen;
myPen.setWidth(1);
myPen.setColor(Qt::black);
painter.setPen(myPen);
if(isChecked())
{
painter.setBrush(Qt::blue);
}
else
{
painter.setBrush(Qt::red);
}
painter.drawEllipse(rectangle);
}Code: Alles auswählen
#include "MyButton.h"
#include <QApplication>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
MyButton button();
button.resize(200,150);
button.show();
return app.exec();
}
main.cpp: In function `int qMain(int, char**)':
main.cpp:9: error: request for member `resize' in `button', which is of non-class type `MyButton ()()'
main.cpp:10: error: request for member `show' in `button', which is of non-class type `MyButton ()()'
Kann mich bitte jemand erleuchten? Das wäre sehr fein