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 ComboTabBar::insertCloseButton(int index) { index -= pinnedTabsCount(); if (index < 0) { return; } QAbstractButton* closeButton = new CloseButton(this); closeButton->setFixedSize(closeButtonSize()); closeButton->setToolTip(m_closeButtonsToolTip); connect(closeButton, SIGNAL(clicked()), this, SLOT(closeTabFromButton())); m_mainTabBar->setTabButton(index, closeButtonPosition(), closeButton); }
void MusicPlayer::createWidgets() { playButton = new QToolButton(this); playButton->setEnabled(false); playButton->setToolTip(tr("Play")); playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); connect(playButton, SIGNAL(clicked()), this, SLOT(togglePlayback())); QAbstractButton *openButton = new QToolButton(this); openButton->setText(tr("...")); openButton->setToolTip(tr("Open a file...")); openButton->setFixedSize(playButton->sizeHint()); connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); volumeButton = new VolumeButton(this); volumeButton->setToolTip(tr("Adjust volume")); volumeButton->setVolume(mediaPlayer.volume()); connect(volumeButton, SIGNAL(volumeChanged(int)), &mediaPlayer, SLOT(setVolume(int))); positionSlider = new QSlider(Qt::Horizontal, this); positionSlider->setEnabled(false); positionSlider->setToolTip(tr("Seek")); connect(positionSlider, SIGNAL(valueChanged(int)), this, SLOT(setPosition(int))); infoLabel = new QLabel(this); positionLabel = new QLabel(tr("00:00"), this); positionLabel->setMinimumWidth(positionLabel->sizeHint().width()); QBoxLayout *controlLayout = new QHBoxLayout; controlLayout->setMargin(0); controlLayout->addWidget(openButton); controlLayout->addWidget(playButton); controlLayout->addWidget(positionSlider); controlLayout->addWidget(positionLabel); controlLayout->addWidget(volumeButton); QBoxLayout *mainLayout = new QVBoxLayout(this); mainLayout->addWidget(infoLabel); mainLayout->addLayout(controlLayout); }