Почему переход кроссфейда в заголовке работает в одну сторону, а не в другую при использовании libadwaita?Python

Программы на Python
Ответить
Anonymous
 Почему переход кроссфейда в заголовке работает в одну сторону, а не в другую при использовании libadwaita?

Сообщение Anonymous »

В первом примере кода между изменениями происходит плавное затухание.

Код: Выделить всё

import sys
import gi

# Require specifically GTK 4.0 and Adwaita 1
gi.require_version('Gtk', '4.0')
gi.require_version('Adw', '1')

from gi.repository import Gtk, Adw, Gio, GLib, GObject

# XML User Interface Definition
UI_XML = """



700
500
Width Tracker


vertical







Test
stack
Adaptive Example








True




Test Page 1
Test Page 1
org.gnome.Settings-display-symbolic




Test Page 1
Test Page 1










Test Page 2
Test Page 2
dialog-information-symbolic


Test Page 2
Test Page 2











stack
False







"""

class WidthTrackerApp(Adw.Application):
def __init__(self, **kwargs):
super().__init__(application_id='com.example.Test',
flags=Gio.ApplicationFlags.FLAGS_NONE,
**kwargs)

def do_activate(self):
builder = Gtk.Builder.new_from_string(UI_XML, -1)

self.window = builder.get_object('main_window')
self.switcher_title = builder.get_object('switcher_title')
self.switcher_bar = builder.get_object('switcher_bar')

self.window.set_application(self)

self.switcher_title.bind_property(
'title-visible',
self.switcher_bar,
'reveal',
GObject.BindingFlags.SYNC_CREATE
)

self.window.present()

if __name__ == '__main__':
app = WidthTrackerApp()
app.run(sys.argv)
Похоже, этот метод устарел. Существует также переключение с широких кнопок на узкие, которое мне не нравится и которым я, похоже, не могу управлять.
Во втором примере кода я использую точку останова, которая не позволяет узким кнопкам отображаться в строке заголовка, но я не могу заставить анимацию перехода работать с этим методом.

Код: Выделить всё

import sys
import gi

# Require specifically GTK 4.0 and Adwaita 1
gi.require_version('Gtk', '4.0')
gi.require_version('Adw', '1')

from gi.repository import Gtk, Adw, Gio, GLib, GObject

# XML User Interface Definition
UI_XML = """



700
500
Test




max-width: 550px

True
title_page





vertical








crossfade
250



switcher_page


stack
wide








title_page


Test













True




Test Page 1
Test Page 1
org.gnome.Settings-display-symbolic


Test Page 1
Test Page 1








Test Page 2
Test Page 2
dialog-information-symbolic


Test Page 2
Test Page 2











stack
False







"""

class WidthTrackerApp(Adw.Application):
def __init__(self, **kwargs):
super().__init__(application_id='com.example.Test',
flags=Gio.ApplicationFlags.FLAGS_NONE,
**kwargs)

def do_activate(self):
builder = Gtk.Builder.new_from_string(UI_XML, -1)

self.window = builder.get_object('main_window')

self.window.set_application(self)

self.window.present()

if __name__ == '__main__':
app = WidthTrackerApp()
app.run(sys.argv)
Как я могу одновременно управлять анимацией перехода и точкой останова?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ther-using
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»