我的类使用QWidget,我有一些QPushButtons那里,我想设置每个按钮顶部的QLabel,这是设置在窗口上的移动(),但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)
添加一个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));