Как использовать два Gtk.IconLookupFlags?

#python #python-3.x #gtk #gtk3

#python #python-3.x #gtk #gtk3

Вопрос:

Я хочу найти значок приложения с двумя флагами (FORCE_SIZE и NO_SVG), но я понятия не имею, как это сделать!

Я уже пробовал следующее:

 icon = Gio.content_type_get_icon(mimetype)
theme = Gtk.IconTheme.get_default()
info = theme.choose_icon(icon.get_names(), size, Gtk.IconLookupFlags.NO_SVG, Gtk.IconLookupFlags.FORCE_SIZE)
  

Возвращает ошибку, потому что я даю более 3 аргументов;

 icon = Gio.content_type_get_icon(mimetype)
theme = Gtk.IconTheme.get_default()
info = theme.choose_icon(icon.get_names(), size, (Gtk.IconLookupFlags.NO_SVG, Gtk.IconLookupFlags.FORCE_SIZE))
  

Возвращает ошибку, потому что запрашивает тип ФЛАГА, а не кортеж

 icon = Gio.content_type_get_icon(mimetype)
theme = Gtk.IconTheme.get_default()
info = theme.choose_icon(icon.get_names(), size, Gtk.IconLookupFlags.NO_SVG and Gtk.IconLookupFlags.FORCE_SIZE)
  

Возвращает значки неправильных размеров.

Я уже пробовал искать, но не смог найти ответа на свою проблему

Комментарии:

1. 1) как объединить флаги и значки неправильных размеров — это два разных вопроса, и их следует размещать как разные вопросы. 2) В python amp; and and (точно так же, как | и or ) — это разные операторы, первый из которых двоичный, а второй логический. Вам нужен двоичный файл или , как указано в ответе ниже.

2. @AlexanderDmitriev Большое вам спасибо за ваш ответ, по-прежнему возвращаемый размер неверен… Извините за то, что был немного груб в моем ответе, вчера был не лучший день, для меня комбинация флагов не работает, и я не знал, как их объединить, ни почему не работает. Еще раз спасибо за ваш ответ.

Ответ №1:

Вы должны использовать побитовые Или флаги, чтобы объединить их.

 flags = Gtk.IconLookupFlags.NO_SVG | Gtk.IconLookupFlags.FORCE_SIZE
  

Комментарии:

1. Спасибо за ответ! Однако при поиске Nautilus он выдает значок размером 256×256, как видно из выходных данных:/usr/share/icons/Yaru/256×256/apps/org.gnome. Nautilus.png

2. Есть ли у вас какие-либо идеи, почему или как это решить? Даже с FORCE_SIZE может ли gtk возвращать значок большего размера?

3. @GustavoMachado пожалуйста, не задавайте дополнительные вопросы в виде комментариев, вместо этого задайте новый вопрос.

4. @AlexanderDmitriev Я переформулировал свой вопрос, спасибо