Все объекты QWidget имеют функцию hide ().
Вы можете присоединить сигнал к сигналу currentIndexChanged поля со списком, и в этой функции вы реализуете любую логику, которую имеете в виду, и вызываете методскрыть свой QLineEdit.
Единственная проблема этого подхода заключается в том, что виджет Qt, когда он скрыт, не занимает места на экране, и это может привести к изменениям макета (в зависимости от того, как вы запрограммировали свой макет, некоторыедругие виджеты могут немного двигаться, например).Чтобы предотвратить это, вы можете сделать так, чтобы другой виджет появлялся там, где был QLineEdit (возможно, вызывая функцию show () и помещая 'placeholder' в тот же контейнер, что и LineEdit), только чтобы занять его пространство и оставить его там, или выможно использовать QStackedWidget, добавить туда два виджета и изменить его индекс.
Я бы порекомендовал вам прочитать следующий пример, он имеет некоторые полезные сведения о динамически изменяющихся вещах: Пример расширения Qt .
Также, если вы сомневаетесь, посмотрите на другие примеры, они действительно хорошо документированы и охватывают множество важных тем по Qt.
Удачи с вашим кодом:)