如何移动QLabel?
我这个类用的是QWidget,里面有一些QPushButton按钮。我想在每个按钮上面放一个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 个回答
2
给你的类添加一个移动事件,并把移动信号连接到你的槽函数。你的槽函数应该是一个可以改变你小部件外观大小的函数,具体可以通过以下方式实现:
YourClass::moveEvent(QMoveEvent *ev)
{
emit move(ev->pos());
QLabel::moveEvent(ev);
}
你的槽函数:
void move_label(QPoint *point)
{
setGeomtry(0, 0, point->x, point->y);
}
然后像下面这样连接它们:
connect(label_widget, SIGNAL(move(QPoint)), this, move_label(QPoint));