Без переключателя видна только страница 1...
Проверил на двух разных машинах под управлением Fedora.
Уже проверил api.pygobject.gnome.org и спросил дурацкого ИИ.
Может ли кто-нибудь сделать это и указать причину?
Я запускаю этот пример:
Код: Выделить всё
import gi
gi.require_version("Gtk", "4.0")
gi.require_version("Adw", "1")
from gi.repository import Adw, Gtk
class MainWindow(Adw.ApplicationWindow):
def __init__(self, app):
super().__init__(application=app)
self.set_title("ADW Window with ViewSwitcherBar")
self.set_default_size(600, 500)
# Create a box to hold content
box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
# Create header bar with title
header_bar = Adw.HeaderBar()
box.append(header_bar)
# Create view stack (for switching between views)
view_stack = Adw.ViewStack()
# Add pages to stack
view_stack.add_titled(self._create_page_content("Page 1"), "page1", "Page 1")
view_stack.add_titled(self._create_page_content("Page 2"), "page2", "Page 2")
view_stack.add_titled(self._create_page_content("Page 3"), "page3", "Page 3")
box.append(view_stack)
# Create ViewSwitcherBar
switcher_bar = Adw.ViewSwitcherBar()
switcher_bar.set_stack(view_stack)
box.append(switcher_bar)
self.set_content(box)
def _create_page_content(self, title):
"""Helper to create a page with content"""
box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)
box.set_margin_top(20)
box.set_margin_bottom(20)
box.set_margin_start(20)
box.set_margin_end(20)
label = Gtk.Label(label=title)
button = Gtk.Button(label="Click Me")
button.connect("clicked", self.on_button_clicked)
box.append(label)
box.append(button)
return box
def on_button_clicked(self, button):
print("Button clicked!")
class MyApp(Adw.Application):
def __init__(self):
super().__init__(application_id="com.example.MyApp")
def do_activate(self):
window = MainWindow(self)
window.present()
if __name__ == "__main__":
app = MyApp()
app.run(None)
результат
Подробнее здесь: https://stackoverflow.com/questions/797 ... ng-example