python - 如何在滚动窗口中制作固定覆盖?
问题描述
如何在滚动窗口中制作固定覆盖?这是我的代码:
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)
现在很好,谢谢你的帮助。
推荐阅读
- html - 横幅上的左右箭头不显示
- docker - 通过环境变量配置solr对docker容器的数据导入
- c# - 从 WCF 下载 ZIP 文件 - ASP.NET CORE
- python - 如何调用另一个函数内部的一个特定函数?
- oracle - MSAccess - Oracle:无法将记录添加到表单记录集
- r - 从内部数据帧中提取数据帧
- r - 如何动态计算 data.table 中的行值,避免 FOR 循环
- python-3.x - 我可以用什么来测量 3D (x,y,z) 中的某些属性?Regionprops 文档说它仅适用于 (N, M) 但我找到了 3D regionprops PR 的信息
- java - 如何在 Firebase Vision 文本识别器中设置字符白名单
- php - Symfony 控制台:对服务感到困惑