Как нарисовать каретку / стрелку внизу QDialog на qt5 - PullRequest
0 голосов
/ 09 июня 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 10 июня 2018

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

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

...