Как нарисовать каретку/стрелку внизу QDialog на qt5

Я хочу нарисовать каретку/стрелку вверху или внизу окна qt. Я не могу найти ни одного документа по этому поводу.

Как я могу выполнить эту задачу с qt5? Я искал все возможные слова, но ничего не нашел.

Можно ли это применить к QDialog или qml? Мой первый выбор — QDialog, так как у меня уже есть веб-движок и другие qwidgets в QDialog.

Я использую С++.

Вот что я имею в виду: sample


person Dennis    schedule 09.06.2018    source источник


Ответы (1)


Большинство оконных менеджеров не поддерживают непрямоугольные окна напрямую, а это означает, что если вы хотите сделать что-то подобное, вам нужно будет сымитировать это, сделав окно достаточно большим, чтобы включить как его обычное содержимое, так и желаемую форму вставки. внутри области окна и делая окно прозрачным сверху.

Для этого вызовите setAttribute(Qt::WA_TranslucentBackground) и setAttribute(Qt::WA_FramelessWindowHint) в своем диалоговом окне и переопределите paintEvent(QPaintEvent *), чтобы нарисовать фон диалогового окна только для тех частей диалогового окна, которые вы хотите сделать непрозрачными.

person Jeremy Friesner    schedule 10.06.2018
comment
TranslucentBackground будет работать! Благодарю вас! Ответ принят. - person Dennis; 10.06.2018