QT 创建将文本添加到文本编辑框的按钮

标签 qt

QT 的新手只是试用一下它,看看它是否是我喜欢使用的东西,如果喜欢,我想继续深入学习该程序。

在按钮概念上有点挣扎。我创建了一个按钮和一个文本编辑区域。我想在按下按钮时将一串文本添加到文本编辑窗口中。

我似乎无法在谷歌或 QT wiki 上找到任何东西来实现这一点。谁能给我指明方向,这样我至少可以开始使用这个很棒的工具。

最佳答案

在 Qt 中,信号和槽用于对象之间的通信。 This应为您提供入门所需的信息。

A signal is emitted when a particular event occurs. Qt's widgets have many predefined signals, but we can always subclass widgets to add our own signals to them. A slot is a function that is called in response to a particular signal. Qt's widgets have many pre-defined slots, but it is common practice to subclass widgets and add your own slots so that you can handle the signals that you are interested in.

因此,在您的特定情况下,您需要将 QPushButton clicked() 信号与执行所需操作的自定义插槽连接(将文本添加到文本区域):

 QPushButton * btn = new QPushButton("Button", this);
 connect(btn, SIGNAL(clicked()), this, SLOT(onBtnClicked()));

我们需要在标题中声明我们的槽:

 private slots:
     void onBtnClicked();

并定义它:

 void MySpecialWidget::onClick() 
 {
     // Do what is to be done
 }

如果您已正确完成所有操作,它应该可以正常工作...否则请查看控制台,看看是否有类似以下内容的消息:

Object::connect: No such slot MySpecialWidget::onClick() in ...

Object::connect: No such signal ....

他们应该会提示您正在发生的事情。

最后推荐看一下大集Qt examples .

关于QT 创建将文本添加到文本编辑框的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199551/

相关文章:

c++ - 为什么拖放在 Qt 中停止工作?

android - Qt 小部件和安卓 : Can't find some widgets/style not fitting

Python处理.net异常导致PyQt无法使用OLE

python - pyqt Qtreewidget 标题单击不起作用

c++ - 使用 QObject 属性的指针

c++ - 假设 if 语句中没有发生有符号溢出

qt - qt Creator 中的提升功能是什么?它是如何工作的?

qt - 如何让 QFileDialog 提示覆盖?

c++ - 将 QGraphicsScene 子类与 ui 一起使用?

c++ - 显示 QMessageBox 时如何防止双槽调用?