本文整理汇总了C++中OptionButton::setIcon方法的典型用法代码示例。如果您正苦于以下问题:C++ OptionButton::setIcon方法的具体用法?C++ OptionButton::setIcon怎么用?C++ OptionButton::setIcon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OptionButton
的用法示例。
在下文中一共展示了OptionButton::setIcon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QDialog
ChooseGeneralDialog::ChooseGeneralDialog(const QStringList &general_names, QWidget *parent, bool view_only, const QString &title)
: QDialog(parent)
{
m_freeChooseDialog = NULL;
if (title.isEmpty())
setWindowTitle(tr("Choose general"));
else
setWindowTitle(title);
QString lord_name;
QList<const General *> generals;
foreach (QString general_name, general_names) {
if (general_name.contains("(lord)")) {
general_name.chop(6);
lord_name = general_name;
continue;
}
const General *general = Sanguosha->getGeneral(general_name);
generals << general;
}
QSignalMapper *mapper = new QSignalMapper(this);
QList<OptionButton *> buttons;
bool tooManyManyGenerals = (generals.length() > G_COMMON_LAYOUT.m_chooseGeneralBoxNoIconThreshold);
bool tooManyGenerals = (generals.length() > G_COMMON_LAYOUT.m_chooseGeneralBoxSwitchIconSizeThreshold);
bool no_icon = false;
QSize icon_size;
QSanRoomSkin::GeneralIconSize icon_type;
if (tooManyManyGenerals) {
no_icon = true;
} else {
if (tooManyGenerals) {
icon_type = QSanRoomSkin::S_GENERAL_ICON_SIZE_LARGE;
icon_size = G_COMMON_LAYOUT.m_chooseGeneralBoxDenseIconSize;
} else {
icon_type = QSanRoomSkin::S_GENERAL_ICON_SIZE_CARD;
icon_size = G_COMMON_LAYOUT.m_chooseGeneralBoxSparseIconSize;
}
}
foreach (const General *general, generals) {
QString caption = Sanguosha->translate(general->objectName());
OptionButton *button = new OptionButton(QString(), caption);
if (no_icon) {
button->setIcon(QIcon("image/system/no-general-icon.png"));
button->setIconSize(QSize(G_COMMON_LAYOUT.m_chooseGeneralBoxDenseIconSize.width(), 1));
} else {
button->setIcon(QIcon(G_ROOM_SKIN.getGeneralPixmap(general->objectName(), icon_type)));
button->setIconSize(icon_size);
}
button->setToolTip(general->getSkillDescription(true));
buttons << button;
if (!view_only) {
mapper->setMapping(button, general->objectName());
connect(button, SIGNAL(double_clicked()), mapper, SLOT(map()));
connect(button, SIGNAL(double_clicked()), this, SLOT(accept()));
}
}