本文整理汇总了C++中OptionButton类的典型用法代码示例。如果您正苦于以下问题:C++ OptionButton类的具体用法?C++ OptionButton怎么用?C++ OptionButton使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OptionButton类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: free_chooser
ChooseGeneralDialog::ChooseGeneralDialog(const QStringList &general_names, QWidget *parent)
:QDialog(parent), free_chooser(NULL)
{
setWindowTitle(tr("Choose general"));
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;
#ifdef USE_RCC
QString category("card2");
#else
QString category("card");
#endif
QSize icon_size(200*0.8, 290*0.8);
if(generals.length() > 10){
category = "big";
icon_size = QSize(94, 96);
}
foreach(const General *general, generals){
QString icon_path = general->getPixmapPath(category);
QString caption = Sanguosha->translate(general->objectName());
OptionButton *button = new OptionButton(icon_path, caption);
button->setToolTip(general->getSkillDescription());
button->setIconSize(icon_size);
buttons << button;
mapper->setMapping(button, general->objectName());
connect(button, SIGNAL(double_clicked()), mapper, SLOT(map()));
connect(button, SIGNAL(double_clicked()), this, SLOT(accept()));
// special case
//if(Self->getRoleEnum() == Player::Lord && general->objectName() == "shencaocao")
// button->setEnabled(false);
}
示例2: setWindowTitle
ChooseGeneralDialog::ChooseGeneralDialog(const QStringList &general_names, QWidget *parent)
:QDialog(parent)
{
m_freeChooseDialog = NULL;
setWindowTitle(tr("Choose general"));
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;
QString category("card");
QSize icon_size(200*0.8, 290*0.8);
if(generals.length() > 10){
category = "big";
icon_size = QSize(94, 96);
}
foreach(const General *general, generals){
QString icon_path = general->getPixmapPath(category);
QString caption = Sanguosha->translate(general->objectName());
OptionButton *button = new OptionButton(icon_path, caption);
button->setToolTip(general->getSkillDescription());
button->setIconSize(icon_size);
buttons << button;
mapper->setMapping(button, general->objectName());
connect(button, SIGNAL(double_clicked()), mapper, SLOT(map()));
connect(button, SIGNAL(double_clicked()), this, SLOT(accept()));
}
示例3: 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()));
}
}
示例4: free_chooser
ChooseGeneralDialog::ChooseGeneralDialog(const QList<const General *> &generals, QWidget *parent)
:QDialog(parent), free_chooser(NULL)
{
setWindowTitle(tr("Choose general"));
QSignalMapper *mapper = new QSignalMapper(this);
QList<OptionButton *> buttons;
foreach(const General *general, generals){
QString icon_path = general->getPixmapPath("card");
QString caption = Sanguosha->translate(general->objectName());
OptionButton *button = new OptionButton(icon_path, caption);
button->setToolTip(general->getSkillDescription());
button->setIconSize(GeneralSize);
buttons << button;
mapper->setMapping(button, general->objectName());
connect(button, SIGNAL(double_clicked()), mapper, SLOT(map()));
connect(button, SIGNAL(double_clicked()), this, SLOT(accept()));
// special case
if(Self->getRoleEnum() == Player::Lord && general->objectName() == "shencaocao"){
button->setEnabled(false);
}
}
示例5: init
//.........这里部分代码省略.........
SpinBox *spin = memnew( SpinBox );
spin->set_pos( Point2( 30,260 ) );
spin->set_size( Point2( 120,1 ) );
frame->add_child(spin);
hscroll->share(spin);
ProgressBar *progress = memnew( ProgressBar );
progress->set_pos( Point2( 30,330 ) );
progress->set_size( Point2( 120,1 ) );
frame->add_child(progress);
hscroll->share(progress);
MenuButton *menu_button = memnew( MenuButton );
menu_button->set_text("I'm a menu!");
menu_button->set_pos( Point2( 30,380 ) );
menu_button->set_size( Point2( 1,1 ) );
frame->add_child(menu_button);
PopupMenu *popup = menu_button->get_popup();
popup->add_item("Hello, testing");
popup->add_item("My Dearest");
popup->add_separator();
popup->add_item("Popup");
popup->add_check_item("Check Popup");
popup->set_item_checked(4,true);
OptionButton *options = memnew( OptionButton );
options->add_item("Hello, testing");
options->add_item("My Dearest");
options->set_pos( Point2( 230,180 ) );
options->set_size( Point2( 1,1 ) );
frame->add_child(options);
/*
Tree * tree = memnew( Tree );
tree->set_columns(2);
tree->set_pos( Point2( 230,210 ) );
tree->set_size( Point2( 150,250 ) );
TreeItem *item = tree->create_item();
item->set_editable(0,true);
item->set_text(0,"root");
item = tree->create_item( tree->get_root() );
item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
item->set_editable(0,true);
item->set_text(0,"check");
item = tree->create_item( tree->get_root() );
item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE);
item->set_editable(0,true);
item->set_range_config(0,0,20,0.1);
item->set_range(0,2);
item->add_button(0,Theme::get_default()->get_icon("folder","FileDialog"));
item = tree->create_item( tree->get_root() );
item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE);
示例6: init
//.........这里部分代码省略.........
frame->add_child(spin);
hscroll->share(spin);
ProgressBar *progress = memnew(ProgressBar);
progress->set_position(Point2(30, 330));
progress->set_size(Point2(120, 1));
frame->add_child(progress);
hscroll->share(progress);
MenuButton *menu_button = memnew(MenuButton);
menu_button->set_text("I'm a menu!");
menu_button->set_position(Point2(30, 380));
menu_button->set_size(Point2(1, 1));
frame->add_child(menu_button);
PopupMenu *popup = menu_button->get_popup();
popup->add_item("Hello, testing");
popup->add_item("My Dearest");
popup->add_separator();
popup->add_item("Popup");
popup->add_check_item("Check Popup");
popup->set_item_checked(4, true);
popup->add_separator();
popup->add_radio_check_item("Option A");
popup->set_item_checked(6, true);
popup->add_radio_check_item("Option B");
OptionButton *options = memnew(OptionButton);
options->add_item("Hello, testing");
options->add_item("My Dearest");
options->set_position(Point2(230, 180));
options->set_size(Point2(1, 1));
frame->add_child(options);
RichTextLabel *richtext = memnew(RichTextLabel);
richtext->set_position(Point2(600, 210));
richtext->set_size(Point2(180, 250));
richtext->set_anchor_and_margin(MARGIN_RIGHT, Control::ANCHOR_END, -20);
frame->add_child(richtext);
richtext->add_text("Hello, My Friends!\n\nWelcome to the amazing world of ");
richtext->add_newline();
richtext->add_newline();
richtext->push_color(Color(1, 0.5, 0.5));
richtext->add_text("leprechauns");
richtext->pop();
richtext->add_text(" and ");
richtext->push_color(Color(0, 1.0, 0.5));
richtext->add_text("faeries.\n");
richtext->pop();
richtext->add_text("In this new episode, we will attempt to ");
richtext->push_font(richtext->get_font("mono_font", "Fonts"));
示例7: set_item_icon
virtual void set_item_icon(int p_idx,const Ref<Texture>& p_tex){ ob->set_item_icon(p_idx,p_tex);}
示例8: erase
virtual void erase(int p_idx) { ob->remove_item(p_idx); _change_notify();}
示例9: get_item_id
virtual int get_item_id(int p_idx) const{ return ob->get_item_ID(p_idx); };
示例10: add_item
virtual void add_item() { ob->add_item( "New Item "+itos(ob->get_item_count())); _change_notify();}
示例11:
virtual Ref<Texture> get_item_icon(int p_idx) const{ return ob->get_item_icon(p_idx); };
示例12: is_item_enabled
virtual bool is_item_enabled(int p_idx) const{ return !ob->is_item_disabled(p_idx); };
示例13: get_item_text
virtual String get_item_text(int p_idx) const{ return ob->get_item_text(p_idx); };
示例14: set_item_id
virtual void set_item_id(int p_idx,int p_id){ ob->set_item_ID(p_idx,p_id);}
示例15: set_item_enabled
virtual void set_item_enabled(int p_idx,int p_enabled){ ob->set_item_disabled(p_idx,!p_enabled);}