2 Stimmen

Wie bewegt man QLabel?

Meine Klasse verwendet QWidget und ich habe einige QPushButtons dort, und ich möchte gerne ein QLabel über jedem Button setzen, die mit move() auf dem Fenster gesetzt sind, aber QLabel will nicht bewegen... Ich benutze setMargin, aber es bewegt es von links nach rechts, aber nicht nach oben oder unten. Hier ist ein Beispiel meines Codes:

    self.btn = QPushButton(QIcon(),"Tabelle anzeigen", self)
    self.btn.move(360, 10)
    self.btn.resize(100, 20)
    self.btn.clicked.connect(self.doAction)

    self.label = QLabel("Hier kommt das Boom")

    layout_LineEdit = QVBoxLayout()
    layout_LineEdit.addWidget(self.label)
    self.setLayout(layout_LineEdit)

2voto

Reza Ebrahimi Punkte 3508

Fügen Sie ein moveEvent zu Ihrer Klasse hinzu und verbinden Sie das move-Signal mit Ihrem Slot. Ihr Slot sollte eine Funktion sein, die die Geometrie Ihres Widgets ändert:

YourClass::moveEvent(QMoveEvent *ev)
{ 
    emit move(ev->pos());
    QLabel::moveEvent(ev);
}

Ihre SLOT-Funktion:

void move_label(QPoint *point)
{
    setGeomtry(0, 0, point->x, point->y);
}

und verbinden Sie sie wie folgt:

connect(label_widget, SIGNAL(move(QPoint)), this, move_label(QPoint));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X