2015-04-22 64 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

謝謝!有效。 –