- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我翻译了这个code到 python 2.7,它正在工作。但是现在我有一个我无法自己解决的问题:我想在顶部设置 100 值,在下方设置 0 值。如何做到这一点?
这是我的代码:
#!/usr/bin/env python
# coding: utf8
import pygtk
pygtk.require('2.0')
import gtk
class Fan():
def destroy(self, widget, donnees=None):
gtk.main_quit()
exit()
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title('Vertical Scales')
window.set_border_width(10)
window.connect("destroy", self.destroy)
window.set_size_request(-1, 150)
# Récupération des informations de surface d'affichage
self.screen = window.get_screen()
self.largeur = int(self.screen.get_width())
self.hauteur = int(self.screen.get_height())
window.move(self.largeur/2-150,self.hauteur/2-40)
window.set_default_size(100, 200)
#Adjustments
#value, min, max, step, pg-incr,pg-size
adj1 = gtk.Adjustment(50, 0, 100, 1.0, 1.0, 0.0)
adj2 = gtk.Adjustment(50, 0, 100, 1.0, 1.0, 0.0)
scale1 = gtk.VScale(adj1)
scale2 = gtk.VScale(adj2)
scale1.value_pos = gtk.POS_RIGHT
scale2.value_pos = gtk.POS_LEFT
hbox = gtk.HBox(True, 5)
hbox.pack_start_defaults(scale1)
hbox.pack_start_defaults(scale2)
window.add(hbox)
hbox.show()
window.show_all()
if __name__ == "__main__":
base = Fan()
gtk.main()
这是一个屏幕截图,我想要 100 个光标在顶部,0 个光标在窗口底部:
谢谢
最佳答案
gtk.Scale 对象继承自 gtk.Range ;您需要将 Range 属性“inverted”设置为 True。
因此将其放在创建 VScales 的语句之后的某处:
scale1.set_inverted(True)
scale2.set_inverted(True)
附言。要在我的系统上运行您的代码,我必须将您的编码语句更改为
# -*- 编码:latin-1 -*-
但我认为那是因为 Stackoverflow 格式化软件对此处发布的文本所做的更改。
官方的 GTK+ 教程很好(虽然它们包含一些使用过时代码的示例)但是 GTK 太大了,教程很难涵盖所有内容。您需要熟悉 GTK 引用手册,以及它如何隐藏解释事情。 :)
因此,如果您查看 gtk.HScale 的页面,它有一个指向各种属性的链接,包括 gtk.Range 属性。该链接提到“倒置”作为属性之一,并且在页面的其他地方明确描述了 set_inverted
和 get_inverted
方法。请注意,这样命名的函数在 GTK 中是设置和获取属性的标准,因此如果您知道(或可以猜测 :) )属性名称,那么您也知道如何设置或获取它。
gtk.HScale 页面还提到它继承自 gtk.Scale,因此该页面也值得查看以获取更多信息。
我刚刚注意到你有
self.largeur = int(self.screen.get_width())
self.hauteur = int(self.screen.get_height())
但你可以这样做
self.largeur = self.screen.get_width()
self.hauteur = self.screen.get_height()
因为这些 get_width() 和 get_height() 方法都返回 int
。
与其使用 window.move(),不如看看 gtk.Window.set_position()
和 GTK Window Position Constants .
关于python - Pygtk 调整和垂直刻度 : How to invert curser max/min,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26323241/
我是一名优秀的程序员,十分优秀!