单击鼠标即可创建小部件

Create widget at mouse click

本文关键字:小部 创建 鼠标 单击      更新时间:2023-10-16

我是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");
}

您需要显示小部件,最好设置其位置(如果不使用 QLayout):

void MainWindow::mousePressEvent(QMouseEvent *e) {
    QLabel *label = new QLabel(this);
    label->setText("Hello");
    label->show();
    label->move(e->pos());
}