Um die Objekte nun benutzen zu können, habe ich ne QGraphicsScene erstellt und dazu eine QGraphicsView. Die Elemente habe ich dazugefügt, allerdings wird ein Element bsp. nur halb dargestellt (hab mit den Koordinaten herumgespielt, bringe nie das ganze Element in die Scene) und der MouseEvent funktioniert nicht.
Code: Alles auswählen
notifyButton::notifyButton(QSize nsize, mainwindow *main) :
size(nsize),
mainW(main)
{
eventText = "You have a new invitation to an event!";
buddyText = "You have a new buddyrequest!";
popup = new QFrame(mainW, Qt::Popup | Qt::Window);
popup->resize(100, 100);
mainLayout = new QVBoxLayout(popup);
mainLayout->setAlignment(Qt::AlignTop);
eventLabel = new QLabel(popup);
eventLabel->setText(eventText);
buddyLabel = new QLabel(popup);
buddyLabel->setText(buddyText);
popup->hide();
}
void notifyButton::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
popup->show();
qDebug() << "Test";
}
void notifyButton::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget)
{
painter->setPen(QPen(Qt::black, 1, Qt::SolidLine));
painter->setBrush(QBrush(activeColor, Qt::SolidPattern));
painter->drawRect(0, 0, size.width(), size.height());
}Code: Alles auswählen
scene = new QGraphicsScene(0, 0, 400, 400);
scene->addItem(messageButton);
view = new QGraphicsView(scene);
layout0->addWidget(view);