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