qt - 使用Qt的QLabel点击事件?

标签 qt signals-slots qlabel

我是Qt的新手,有一个问题。

我有QLabelQLineEdit对象,当单击QLabel文本时,我想在QLineEdit中设置此文本。

我也已经读过QLabel没有点击信号。

您能解释一下我该怎么做并为我编写代码吗?

最佳答案

设置另一种QWidget的样式(例如特定的QPushButton)的样式,使其看起来像QLabel并使用其clicked()信号,或者自己继承QLabel并发出自己的clicked()信号。

请参阅以下示例:
https://wiki.qt.io/Clickable_QLabel

如果选择后一个选项,则可以在信号中传递文本。然后像下面这样在QLabel和QLineEdit之间连接必要的信号/插槽:

QObject::connect(&label, SIGNAL(clicked(const QString& text)),
                 &lineEdit, SLOT(setText(const QString& text)));

关于qt - 使用Qt的QLabel点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018941/

相关文章:

c++ - Qt:在输入 lineEdit 时显示可能性?

c++ - 无依赖性最快的 C++ 信号/槽库

python - 如何在 PyQt5 QLabel(固定大小)中增加/减小字体大小?

Python PyQt Qlabel 调整大小

c++ - Qt:将结构写入文件

c++ - 使用 C++ 更改 QML 单例的属性

c++ - 模态 QMessageBox 的行为不像 native Windows 对话框

qt - 如何知道哪个 QObject::connect 失败

python - QTextEdit textChanged 信号异常

python - 从带有富文本的 QLabel 中获取纯文本