单击鼠标创建小部件 [英] Create widget at mouse click
本文介绍了单击鼠标创建小部件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是Qt的新手.如何在鼠标单击时创建一个新的小部件?我想在每次单击鼠标时创建一个新标签.
I'm new at Qt. How can I create a new widget at mouse click? I want to create a new label at every mouse click.
// 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的话):
You need to show the widget, and preferably set its position (if not using QLayout):
void MainWindow::mousePressEvent(QMouseEvent *e) {
QLabel *label = new QLabel(this);
label->setText("Hello");
label->show();
label->move(e->pos());
}
这篇关于单击鼠标创建小部件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文