如何移动QLabel?

时间:2013-01-20 00:36:52

标签: python qt qwidget qlabel

我的班级使用QWidget,我在那里有一些QPushButtons,我想在每个按钮的顶部设置一个QLabel,通过move()设置在窗口上,但QLabel不想移动.. 。 我使用setMargin但它从左到右移动,但不是向上或向下移动。 我的代码有一个例子:

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

    self.label = QLabel("Here comes the boom")

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

1 个答案:

答案 0 :(得分:2)

向您的班级添加一个moveEvent并将移动信号连接到您的插槽,您的插槽应该是一个通过以下方式更改小部件几何体的函数:

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

你的SLOT功能:

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

并按如下方式连接它们:

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