Fenster mit Headerbar - Verschieben während einer Prozesses nicht möglich
Verfasst: Montag 22. Januar 2018, 20:51
Hallo
Ich möchte gerne die Headerbar von Gtk3 nutzen: https://python-gtk-3-tutorial.readthedo ... #headerbar
Das Problem, sobald eine Operation ausgeführt wird, friert das komplette Fenster ein, also es ist noch nicht einmal möglich das Fenster zu minimieren oder zur Seite zu schieben.
GTK 3.18.9
Linux Mint 18.1
Freue mich sehr über Verschläge, Danke
Ich möchte gerne die Headerbar von Gtk3 nutzen: https://python-gtk-3-tutorial.readthedo ... #headerbar
Das Problem, sobald eine Operation ausgeführt wird, friert das komplette Fenster ein, also es ist noch nicht einmal möglich das Fenster zu minimieren oder zur Seite zu schieben.
GTK 3.18.9
Linux Mint 18.1
Freue mich sehr über Verschläge, Danke
Code: Alles auswählen
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gio
import time
class HeaderBarWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="HeaderBar Demo")
self.set_modal(False)
self.set_border_width(10)
self.set_default_size(400, 200)
hb = Gtk.HeaderBar()
hb.set_show_close_button(True)
hb.props.title = "HeaderBar example"
self.set_titlebar(hb)
button = Gtk.Button()
icon = Gio.ThemedIcon(name="mail-send-receive-symbolic")
image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
button.add(image)
hb.pack_end(button)
box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
Gtk.StyleContext.add_class(box.get_style_context(), "linked")
button = Gtk.Button()
button.add(Gtk.Arrow(Gtk.ArrowType.LEFT, Gtk.ShadowType.NONE))
box.add(button)
button = Gtk.Button()
button.add(Gtk.Arrow(Gtk.ArrowType.RIGHT, Gtk.ShadowType.NONE))
box.add(button)
hb.pack_start(box)
self.add(Gtk.TextView())
button = Gtk.Button("Sleep")
button.connect("clicked", self.on_button_clicked)
box.add(button)
def on_button_clicked(self, widget):
print "on_button_clicked"
time.sleep(4)
if __name__ == "__main__":
win = HeaderBarWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()