我是Qt的新人。如何在鼠标单击时创建新的小部件?我想在每次点击鼠标时创建一个新标签。
// works fine:
MainWindow::MainWindow(QWidget *parent) {
QLabel *label = new QLabel(this);
}
void MainWindow::mousePressEvent(QMouseEvent *e) {
label->setText("Hello");
}
// doesn't work:
void MainWindow::mousePressEvent(QMouseEvent *e) {
QLabel *label = new QLabel(this);
label->setText("Hello");
}
答案 0 :(得分:2)
您需要显示小部件,并且最好设置其位置(如果不使用QLayout):
void MainWindow::mousePressEvent(QMouseEvent *e) {
QLabel *label = new QLabel(this);
label->setText("Hello");
label->show();
label->move(e->pos());
}