Gtk :: ScaleButton: иконки в конструкторе

0

Я пытаюсь использовать Gtk :: ScaleButton в Gtkmm 3. Моя проблема - это конструктор. Он нужен как последний параметр (см. Здесь: https://developer.gnome.org/gtkmm/stable/classGtk_1_1ScaleButton.html#a96753b6cb6b8adb0ed3727ba3eb8cfb7) вектор ustrings. Я предполагаю (я не могу найти его в документах, что это означает точно), я должен дать ему путь к + / - Images. Я хочу использовать элементы Gtk Stock для + / -. Как я могу достичь этого?

В настоящее время я даю ему пустой вектор, что приводит к предупреждению glibmm:

    std::vector<Glib::ustring> icons;
    Gtk::ScaleButton * scale = Gtk::manage(new Gtk::ScaleButton(Gtk::ICON_SIZE_SMALL_TOOLBAR, 0.0, 10.0, 1.0, icons));

Предупреждение:

 glibmm-WARNING **: Glib::ConstructParams::ConstructParams(): object class "gtkmm__GtkScaleButton" has no property named "min"

Как я могу избежать предупреждения и дать ему значки акций?

  • 0
    Описание массива иконок. Необработанный GTK + конструктор говорит, что это может быть пусто; Я не уверен, что это значит для gtkmm. Вы можете использовать стандартные имена значков для них, если вы того пожелаете. Я не знаю о вашей конкретной проблеме, хотя ... похоже, что-то еще идет не так
  • 0
    Конструктор ScaleButton неполон в самом gtkmm. Я постараюсь исправить это там. Тем временем вы можете попробовать использовать: Gtk :: ScaleButton * button = Glib :: wrap (gtk_scale_button_new (что угодно));
Теги:
gtk
gtkmm

1 ответ

0
Лучший ответ

Вы должны быть одним из первых, кто когда-либо пытался использовать этот конструктор Gtk :: ScaleButton из gtkmm. Кажется, он был сломан в течение нескольких лет.

Я исправил его в gtkmm: https://git.gnome.org/browse/gtkmm/commit/?id=26f94d231da9481d74acdd94e56168ed6b38609a

Но это будет некоторое время, пока это будет широко доступно через пакеты дистрибутива Linux. Тем временем вы можете попробовать использовать

Gtk::ScaleButton* button = Glib::wrap(gtk_scale_button_new(whatever));

См. Https://developer.gnome.org/gtkmm-tutorial/stable/sec-basics-gobj-and-wrap.html.en

Однако я не знаю, как это на самом деле должно было вести себя, поэтому вы можете столкнуться с другими ошибками. Вместо этого вы можете захотеть использовать полученный Gtk :: VolumeButton.

andlabs верна, что в документации GTK+ лучше описываются значки: https://developer.gnome.org/gtk3/stable/GtkScaleButton.html#GtkScaleButton--коны, и они действительно должны быть стандартными именами значков: http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

  • 0
    Большое спасибо. Я попробую использовать его прямо из репозитория (я использую Gentoo Linux, так что это не должно быть проблемой). Я сообщу позже, если он работает должным образом
  • 0
    Я также добавил пример кода, чтобы доказать себе, что он работает сейчас: git.gnome.org/browse/gtkmm-documentation/tree/examples/book/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню