// constructor LineObjectDialog::LineObjectDialog (QWidget * parent): QDialog (parent), ui (new Ui::LineObjectDialog) { QAbstractButton *button; ui->setupUi (this); this->setWindowFlags(Qt::CustomizeWindowHint); color = Qt::white; pixmap = new QPixmap (16, 16); icon = new QIcon; pixmap->fill (color); icon->addPixmap (*pixmap, QIcon::Normal, QIcon::On); ui->colorButton->setIcon (*icon); #ifdef Q_OS_WIN colorDialog = new QColorDialog (this); #else colorDialog = new QColorDialog; // (this); #endif colorDialog->setModal (true); foreach (button, ui->buttonBox->buttons ()) button->setFocusPolicy (Qt::NoFocus); connect(ui->colorButton, SIGNAL(clicked (bool)), this, SLOT(color_clicked(void))); connect (colorDialog, SIGNAL (accepted ()), this, SLOT (colorDialog_accepted ())); connect(ui->buttonBox, SIGNAL(accepted ()), this, SLOT(ok_clicked ())); connect(ui->buttonBox, SIGNAL(rejected ()), this, SLOT(cancel_clicked ())); correctWidgetFonts (this); }
QAbstractButton *FormMultiWidget::makeButton(const QIcon &icon, const char *slot) { QAbstractButton *btn = new QToolButton(this); btn->setIcon(icon); btn->setFixedSize(icon.availableSizes().first() /* + something */); btn->setFocusPolicy(Qt::NoFocus); connect(btn, SIGNAL(clicked()), slot); return btn; }
void QAbstractButtonPrivate::fixFocusPolicy() { Q_Q(QAbstractButton); #ifndef QT_NO_BUTTONGROUP if (!group && !autoExclusive) #else if (!autoExclusive) #endif return; QList<QAbstractButton *> buttonList = queryButtonList(); for (int i = 0; i < buttonList.count(); ++i) { QAbstractButton *b = buttonList.at(i); if (!b->isCheckable()) continue; b->setFocusPolicy((Qt::FocusPolicy) ((b == q || !q->isCheckable()) ? (b->focusPolicy() | Qt::TabFocus) : (b->focusPolicy() & ~Qt::TabFocus))); } }