我已經插入了一個gtk.ColorButton(),但是當我檢索值(get_color)時,我得到一個12位十六進制字符串(對於某些顏色)。 問題是我需要它給我只有6位數字。ColorButton給出12位十六進制字符串而不是6
這裏有一個片段:
import pygtk
pygtk.require("2.0")
import gtk
class TestColorButton(object):
def __init__(self):
self.win = gtk.Window()
self.colorbutton = gtk.ColorButton()
container = gtk.VBox()
Button = gtk.Button("Get color")
Button.connect("released", self.get_selected_color)
container.pack_start(self.colorbutton)
container.pack_start(Button)
self.win.add(container)
self.win.show_all()
def get_selected_color(self, widget):
print self.colorbutton.get_color()
if __name__ == "__main__":
TestColorButton()
gtk.main()
我不知道是不是唯一的解決辦法是嘗試將12位十六進制字符串轉換爲一個6位的一個(儘管我會丟失信息)。由於python中沒有可以使用12位數的顏色,所以我非常想知道這是什麼...
有趣的是,在彈出的窗口中,我可以看到一個6位數的十六進制字符串。也許,如果我能get_childs該窗口,直到我找到它...但它看起來很複雜的一件簡單的事......
其實這應該返回一個對象gtk.gdk.Color http://www.pygtk.org/docs/pygtk/ class-gdkcolor.html 而不是一個字符串,從返回的對象中,您可以讀取文檔中所述的值 – gianmt