C++ Qt-在面板中动态添加QLineEdit

C++ Qt-在面板中动态添加QLineEdit,c++,qt,user-interface,widget,C++,Qt,User Interface,Widget,这是一个使用Qt/C++编程的问题。我有一个包含两个项目的组合框。如果当前选择的索引为0,则组合框下方的布局中不应显示QLineEdit。如果为1,则应显示QLineEdit。如果索引再次为0,它应该再次消失。 值得注意的是,布局中的其他元素不应受到更改的影响。用户已在其他QinedIt中输入的值应保持不变 可以动态修改小部件吗?你是怎么处理的 问候。所有QWidget对象都有一个名为hide()的函数 您可以将一个信号附加到组合框的currentIndexChanged信号,并在该函数中实现您

这是一个使用Qt/C++编程的问题。我有一个包含两个项目的组合框。如果当前选择的索引为0,则组合框下方的布局中不应显示QLineEdit。如果为1,则应显示QLineEdit。如果索引再次为0,它应该再次消失。 值得注意的是,布局中的其他元素不应受到更改的影响。用户已在其他QinedIt中输入的值应保持不变

可以动态修改小部件吗?你是怎么处理的


问候。

所有QWidget对象都有一个名为hide()的函数

您可以将一个信号附加到组合框的currentIndexChanged信号,并在该函数中实现您想要的任何逻辑,并调用QLineEdit的方法hide

这种方法唯一的问题是,Qt小部件在隐藏时不会占用屏幕上的任何空间,这可能会导致布局更改(例如,根据您对布局的编程方式,其他一些小部件可能会移动一点)。为了防止出现这种情况,您可以在QLineEdit所在的位置显示另一个小部件(可能调用show()函数,并将“占位符”放置在LineEdit所在的同一容器上),只是为了占据其空间并将其保留在那里,或者您可以使用QStackedWidget将两个小部件添加到那里并更改其索引

我建议您阅读以下示例,它对动态更改内容有一些有用的见解:

另外,当有疑问时,看看其他示例,它们都有很好的文档记录,涵盖了很多关于Qt的重要主题


祝您的代码好运:)

所有QWidget对象都有一个名为hide()的函数

您可以将一个信号附加到组合框的currentIndexChanged信号,并在该函数中实现您想要的任何逻辑,并调用QLineEdit的方法hide

这种方法唯一的问题是,Qt小部件在隐藏时不会占用屏幕上的任何空间,这可能会导致布局更改(例如,根据您对布局的编程方式,其他一些小部件可能会移动一点)。为了防止出现这种情况,您可以在QLineEdit所在的位置显示另一个小部件(可能调用show()函数,并将“占位符”放置在LineEdit所在的同一容器上),只是为了占据其空间并将其保留在那里,或者您可以使用QStackedWidget将两个小部件添加到那里并更改其索引

我建议您阅读以下示例,它对动态更改内容有一些有用的见解:

另外,当有疑问时,看看其他示例,它们都有很好的文档记录,涵盖了很多关于Qt的重要主题


祝你的代码好运:)

你试过什么?什么让你困惑?这项任务似乎并不复杂。你尝试过什么?什么让你困惑?这项任务似乎并不复杂,我只是想链接到Qt文档,upvoted.Tks Castilho。但是,它既不使用hide()也不使用setVisible(true/false)。我会仔细阅读例子来找出答案。显然,单独使用hide()是不合适的,因为如果需要的话,我需要小部件重新出现。回答一个半小时,我只是想链接到Qt文档,upvoted.Tks Castilho。但是,它既不使用hide()也不使用setVisible(true/false)。我会仔细阅读例子来找出答案。显然,单独使用hide()是不合适的,因为如果需要的话,我需要小部件重新出现。