195 QStylePainter
p(
this);
197 option.rect = QRect(
rect().right() - 15,
rect().bottom() - 15, 14, 14);
199 option.palette.setBrush(QPalette::ButtonText, Qt::black);
200 option.state = QStyle::State_Enabled;
201 p.setBrush(Qt::black);
203 p.drawPrimitive(QStyle::PE_IndicatorArrowDown, option);
211 QScreen *currentScreen = [
this]() {
212 QWindow *mainWinHandle = this->window()->windowHandle();
214 return mainWinHandle->screen();
216 return QApplication::primaryScreen();
218 QWindow *winHandle =
m_d->
frame->windowHandle();
220 winHandle->setScreen(currentScreen);
225 QPoint pos = this->isVisible() ? this->mapToGlobal(QPoint(0, this->size().height())) : QCursor().pos();
227 QRect popupRect(pos, popSize);
230 QScreen *screen = [
this]() {
231 QWindow *winHandle =
m_d->
frame->windowHandle();
232 if (winHandle && winHandle->screen()) {
233 return winHandle->screen();
235 return QApplication::primaryScreen();
237 QRect screenRect = screen->availableGeometry();
240 popupRect.moveTo(
m_d->
frame->geometry().topLeft());
242 popupRect.moveTo(this->window()->geometry().center() - QRect(QPoint(0, 0), popSize).center());