[英]How to make a fixed overlay in scrolledwindow?
如何在滚动窗口中制作固定覆盖? 这是我的代码:
def create_textview(self):
frame = Gtk.Frame()
frame.set_label(os.path.basename(TextViewWindow.temporary(self, widget=None)))
scrolledwindow = Gtk.ScrolledWindow()
scrolledwindow.set_hexpand(True)
scrolledwindow.set_vexpand(True)
self.textview = Gtk.TextView()
self.textview.set_editable(True)
self.textview.connect("key-release-event", self.releaseKeys)
self.textview.connect("key-press-event", self.key_Return)
self.textview.connect("key-press-event", self.key_BackSpace)
self.textview.connect("key-press-event", self.blockedKeys)
self.textbuffer = self.textview.get_buffer()
self.OpenFile = otworzplik.OpenFile()
# Background
#
overlay = Gtk.Overlay()
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
filename="kibord.png",
width=500,
height=160,
preserve_aspect_ratio=True)
image = Gtk.Image()
image.set_from_pixbuf(pixbuf)
overlay.add_overlay(image)
overlay.add(self.textview)
scrolledwindow.add(overlay)
frame.add(scrolledwindow)
def create_textview(self):
frame = Gtk.Frame()
frame.set_label(os.path.basename(TextViewWindow.temporary(self, widget=None)))
scrolledwindow = Gtk.ScrolledWindow()
scrolledwindow.set_hexpand(True)
scrolledwindow.set_vexpand(True)
self.textview = Gtk.TextView()
self.textview.set_editable(True)
self.textview.connect("key-release-event", self.releaseKeys)
self.textview.connect("key-press-event", self.key_Return)
self.textview.connect("key-press-event", self.key_BackSpace)
self.textview.connect("key-press-event", self.blockedKeys)
self.textbuffer = self.textview.get_buffer()
self.OpenFile = otworzplik.OpenFile()
# Obraz tła
#
overlay = Gtk.Overlay()
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
filename="kibord.png",
width=300,
height=96,
preserve_aspect_ratio=True)
image = Gtk.Image()
image.set_from_pixbuf(pixbuf)
# Fixed for fixed positioned overlay widgets
fixed = Gtk.Fixed()
overlay.add_overlay(fixed)
overlay.set_overlay_pass_through(fixed, True)
# Put fixed overlay
fixed.put(image, 650, 10)
# overlay.add(self.textview)
overlay.add(frame)
scrolledwindow.add(self.textview)
frame.add(scrolledwindow)
现在很好,谢谢你的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.