[英]Python: Creating own Widget with scrollbars
我正在制作一個類似於X的繪圖儀,它可以實時繪制數據。 我已經在尋找一個解決方案來實現沿着x軸的滾動,如果小部件有很多值,那么它們就不適合。
我有實現它的愚蠢方法:
我真的在網上搜索了一些建議或例子,但是沒有任何關於如何以一種好的方式“構建”自定義控件(尤其是繪制內容)。 在互動的情況下......對不起,我一般是GTK的新手:/
Gtk中的大多數小部件都沒有滾動條。
如果要滾動整個窗口小部件,則必須實現GtkScrollable
接口。 然后,將小部件添加到GtkScrolledWindow
。 滾動窗口具有滾動條,那些GtkScrollbars
與GtkAdjustments
鏈接, GtkAdjustments
通過GtkScrollable
接口set_vadjustment
和set_hadjustment
傳遞給您的自定義小部件。
如果您只想添加滾動條並自己控制其行為,那么您需要以某種方式在窗口小部件中添加GtkScrollbar
,這意味着您還需要將其設置為容器。
GtkScrollable
方法如下,首先實現vadjustment
和hadjustment
setter和getter,然后在設置GtkAdjustments
時,設置其下限和上限以及頁面大小(一次可見多少小部件)。 之后,您可以連接它們的value-changed
信號,以便在拖動滾動條時刷新窗口小部件。 GtkScrollable
無法檢查滾動條,只檢查將綁定到滾動條的調整。 繪制窗口小部件時,您將獲得調整的value
屬性,以確定滾動條在水平和垂直軸上移動了多少。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.