鼠标单击创建小部件

时间:2015-04-22 20:39:31

标签: c++ qt

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

1 个答案:

答案 0 :(得分:2)

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

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