gtk - 滚动窗口内的 GTK3 覆盖
问题描述
我需要一些帮助来找出一种方法来实现以下目标:
我想要的是
- 将几个堆叠
Gtk.Widgets
在一起 - 小部件应放置在任何位置
- 如果小部件位于窗口之外,用户应通过水平或垂直方向滚动来导航
我的方法
- 堆叠:
Gtk.Overlay
- 滚动:
Gtk.ScrolledWindow
代码示例
public class MyApp : Gtk.Application {
public MyApp () {}
protected override void activate () {
var main_window = new Gtk.ApplicationWindow (this) {
default_height = 300,
default_width = 300,
title = "Hello World"
};
var overlay = new Gtk.Overlay ();
var scrolled_window = new Gtk.ScrolledWindow (null, null);
var label = new Gtk.Label ("Hello World") {
halign = Gtk.Align.START,
valign = Gtk.Align.START,
margin_top = 200,
margin_start = 400
};
var label1 = new Gtk.Label ("Hello again") {
halign = Gtk.Align.START,
valign = Gtk.Align.START,
margin_top = 400,
margin_start = 200
};
overlay.add_overlay (label);
overlay.add_overlay (label1);
scrolled_window.add (overlay);
main_window.add (scrolled_window);
main_window.show_all ();
}
public static int main (string[] args) {
return new MyApp ().run (args);
}
}
编译:valac --pkg gtk+-3.0 Main.vala
问题
- 滚动不起作用
- 显示
label
和label1
用户需要增加窗口的大小
问题
使程序按预期工作的正确方法是什么?谢谢你。
解决方案
推荐阅读
- javascript - 可以重写这个 Javascript 来为类而不是 id 工作吗?
- reactjs - redux - 在“脏”状态下处理组件外的动作调用的最佳方法?
- c# - 如何从 System.Object 对象中删除子对象?
- android - 获取随机android.database.sqlite.SQLiteBlobTooBigException
- elasticsearch - kuromoji 中的部分搜索查询
- ios - Swift noob trying to add class paddingLabel for iOS App development
- perl - append previous line with current line if the file contains blanks
- c++ - Getting error "can not be used when making a shared object; recompile with -fPIC" although fpic is used
- angular - 如何从 Observable 中过滤数组以获得浅拷贝而不是深拷贝?
- python - 是否可以在 filter_by 之间使用 or_