2012-04-23 4 views
1

У меня есть QListWidget как ребенок внутри QPlainTextEdit для целей предложений по завершению.Показать дочерний QWidget из родительской области QWidget

Список предложений отображается под курсором, а когда линия почти заполнена, часть виджета списка обрезается границей редактирования текста. Есть ли возможность принудительно отображать дочерний виджет из родительского виджета?

Идея, которую я имею, заключается в том, чтобы сделать текст и список элементов редактирования «братья и сестры», i. е. добавьте их к одному и тому же родительскому элементу. Но для этого потребуется мой механизм обработки событий (как я полагаю, отношения между родителями и дочерними элементами между этими двумя элементами).

Я думаю, что должен быть способ достичь этого, поскольку я изучил Katepart component и есть KateCompletionWidget (отображает предложения), который является прямым дочерним элементом KateView, и когда я его запускаю (например, текстовый редактор Kate), список отображается поперек текстовое редактирование границы.

ответ

1

Невозможно, чтобы ребенок рисовал вне QWidget rect родителя, к сожалению. Ваш подход к родному брату является популярным решением этой проблемы. Другой подход заключается в том, чтобы ребенок уведомлял родителя о том, что он хочет рисовать, но это может быть немного более продвинутым, потому что вам нужно повторно реализовать события рисования.

0

Сегодня я нашел возможный жизнеспособный способ - он основан на методе элемента QListWidget setWindowFlags(Qt::ToolTip). Тем не менее, некоторые изменения в позиционировании и обработке событий.

Смежные вопросы