我在Qt中的项目有几个带有多个qlineedit的小部件。我想当用户单击每个qlineedit时打开第二个小部件,以显示带有单个qlineedit的键盘来输入文本和数字。
当用户单击“确定”按钮时,单个qlineedit上的文本将传递到单击的文本框。
我怎样才能做到这一点?

最佳答案

恕我直言,我会这样做如下:

1)创建QLineEdit子类并重新实现focusInEvent-这不仅可以处理单击,还可以处理其他类型的输入(例如,通过键盘输入)。在构造器中,您可以将“openEditor”信号连接到负责该功能的小部件(通常是主小部件)中的自定义插槽。

2)将您的编辑升级为自定义子类。

3)例如,您可以从自定义focusInEvent发出信号“openEditor”。在那里,您可以使用QObject::sender()确定哪个编辑发出信号。

4)实现可满足您需要的插槽(使用键盘显示新编辑,在发送方中设置文本(编辑发出的编辑器打开))

关于c++ - 如何为所有qlineedit设置onclick信号以打开键盘小部件并向后发送数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40327236/

10-15 02:17