本文整理汇总了C++中QAbstractButton::property方法的典型用法代码示例。如果您正苦于以下问题:C++ QAbstractButton::property方法的具体用法?C++ QAbstractButton::property怎么用?C++ QAbstractButton::property使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QAbstractButton
的用法示例。
在下文中一共展示了QAbstractButton::property方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setcolormark
void setcolormark(QRgb colorval)
{
int i;
if (colorval != DEFAULTCOLOR) {
i = 3 + colorlist.indexOf(colorval);
if (i<3) return; // no such color :(
} else {
i = 2; // index of the "Inherit Color" action
}
// 1. mark the color in the menu
toggleexcl(menuAction("Elements_Color")->menu()->actions()[i]);
// 2. mark the color on the toolbar
QAbstractButton *button = toolbar->findChild<QAbstractButton*>("Colors");
int toolIndex = button->property("index").toInt();
QImage img(ToolBar[toolIndex].icon_data);
QPixmap pix(img.size());
QPainter p(&pix);
if (i==2) {
// inherit color -- default pixmap
p.drawImage(0, 0, img);
} else {
// color pixmap
p.fillRect(img.rect(), QColor(colorval));
}
button->actions().first()->setIcon(QIcon(pix));
}
示例2: chooseAction
void MergeTool::chooseAction()
{
m_merging = (m_mergeType == NormalMerge);
if (m_merging)
return;
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Merge Conflict"));
msgBox.setIcon(QMessageBox::Question);
msgBox.setStandardButtons(QMessageBox::Abort);
msgBox.setText(tr("%1 merge conflict for \"%2\"\nLocal: %3\nRemote: %4")
.arg(mergeTypeName())
.arg(m_fileName)
.arg(stateName(m_localState, m_localInfo))
.arg(stateName(m_remoteState, m_remoteInfo))
);
switch (m_mergeType) {
case SubmoduleMerge:
case SymbolicLinkMerge:
addButton(&msgBox, tr("&Local"), 'l');
addButton(&msgBox, tr("&Remote"), 'r');
break;
case DeletedMerge:
if (m_localState == CreatedState || m_remoteState == CreatedState)
addButton(&msgBox, tr("&Created"), 'c');
else
addButton(&msgBox, tr("&Modified"), 'm');
addButton(&msgBox, tr("&Deleted"), 'd');
break;
default:
break;
}
msgBox.exec();
QByteArray ba;
QVariant key;
QAbstractButton *button = msgBox.clickedButton();
if (button)
key = button->property("key");
// either the message box was closed without clicking anything, or abort was clicked
if (!key.isValid())
key = QVariant(QLatin1Char('a')); // abort
ba.append(key.toChar().toLatin1());
ba.append('\n');
m_process->write(ba);
m_process->waitForBytesWritten();
}
示例3: populateLocationsBox
void HandlerChoiceDialog::populateLocationsBox ()
{
while (Ui_.LocationsBox_->count () > 1)
Ui_.LocationsBox_->removeItem (1);
QAbstractButton *checked = Buttons_->checkedButton ();
if (!checked)
return;
if (checked->property ("AddedAs").toString () == "IEntityHandler")
{
Ui_.LocationsBox_->setEnabled (false);
Ui_.BrowseButton_->setEnabled (false);
return;
}
Ui_.LocationsBox_->setEnabled (true);
Ui_.BrowseButton_->setEnabled (true);
Ui_.LocationsBox_->insertSeparator (1);
if (Suggestion_.size ())
Ui_.LocationsBox_->addItem (Suggestion_);
const QString& plugin = checked->property ("PluginID").toString ();
const QStringList& pluginTexts = GetPluginSavePaths (plugin).mid (0, 7);
QSettings settings (QCoreApplication::organizationName (),
QCoreApplication::applicationName ());
settings.beginGroup ("SavePaths");
QStringList otherPlugins = settings.childKeys ();
settings.endGroup ();
otherPlugins.removeAll (plugin);
QList<QStringList> otherTextsList;
Q_FOREACH (const QString& otherPlugin, otherPlugins)
otherTextsList.append (GetPluginSavePaths (otherPlugin));
for (QList<QStringList>::iterator it = otherTextsList.begin (), end = otherTextsList.end ();
it != end; ++it)
Q_FOREACH (const QString& ptext, pluginTexts)
it->removeAll (ptext);
QStringList otherTexts;
while (otherTexts.size () < 16)
{
bool added = false;
for (QList<QStringList>::iterator it = otherTextsList.begin (), end = otherTextsList.end ();
it != end; ++it)
{
if (!it->isEmpty ())
{
otherTexts += it->takeFirst ();
added = true;
}
}
if (!added)
break;
}
if (!pluginTexts.isEmpty ())
{
Ui_.LocationsBox_->addItems (pluginTexts);
if (!otherTexts.isEmpty ())
Ui_.LocationsBox_->insertSeparator (pluginTexts.size () + 2);
}
Ui_.LocationsBox_->addItems (otherTexts);
if (!Suggestion_.isEmpty ())
Ui_.LocationsBox_->setCurrentIndex (1);
else
{
const QString& prev = settings.value ("PreviousEntitySavePath").toString ();
if (!prev.isEmpty () &&
pluginTexts.contains (prev))
{
const int pos = Ui_.LocationsBox_->findText (prev);
if (pos != -1)
Ui_.LocationsBox_->setCurrentIndex (pos);
}
else if (!pluginTexts.isEmpty ())
Ui_.LocationsBox_->setCurrentIndex (2);
}
}