51 QImage image(16, 16, QImage::Format_ARGB32);
54 QStylePainter painter(&image,
this);
57 option.rect = image.rect();
58 option.palette = palette();
59 option.state = QStyle::State_Enabled;
60 option.palette.setBrush(QPalette::ButtonText, option.palette.text());
62 painter.setBrush(option.palette.text().color());
63 painter.setPen(option.palette.text().color());
64 painter.drawPrimitive(QStyle::PE_IndicatorArrowDown, option);
110 QGridLayout* layout =
new QGridLayout();
114 layout->setContentsMargins(0, 0, 0, 0);
115 layout->setSpacing(0);
117 QButtonGroup* group =
new QButtonGroup();
123 QToolButton* bn =
new QToolButton();
127 bn->setAutoRaise(
true);
132 layout->addWidget(i->label , row, 0);
133 layout->addWidget(i->widget , row, 1);
134 layout->addWidget(
buttons[row], row, 2);
137 layout->addWidget(i->widget , row, 0);
138 layout->addWidget(
buttons[row], row, 1);
140 group->addButton(
buttons[row], idx);
147 for(
int i=row; i<
buttons.size(); ++i)
215 QSize popSize =
m_popup->size();
216 QRect popupRect(QFrame::mapToGlobal(QPoint(-1, QFrame::height())), popSize);
219 QRect screenRect = this->screen()->availableGeometry();
222 if(popupRect.right() > screenRect.right())
223 popupRect.translate(screenRect.right() - popupRect.right(), 0);
224 if(popupRect.left() < screenRect.left())
225 popupRect.translate(screenRect.left() - popupRect.left(), 0);
226 if(popupRect.bottom() > screenRect.bottom())
227 popupRect.translate(0, -popupRect.height());
229 m_popup->setGeometry(popupRect);