单击鼠标创建小部件 [英] Create widget at mouse click

查看:51
本文介绍了单击鼠标创建小部件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆