gpt4 book ai didi

python - Pygtk 调整和垂直刻度 : How to invert curser max/min

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:19 25 4
gpt4 key购买 nike

我翻译了这个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.Adjutment example

谢谢

最佳答案

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_invertedget_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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com