2015-04-22 66 views
0

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

回答

2

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

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

谢谢!有效。 –