- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这就是我正在尝试的,但有些行的设计不同。为什么我无法正确放置按钮,知道如何修复它吗?
这是背景图片:
代码如下:
#!/usr/bin/python
import gtk
class PyApp(gtk.Window):
def createButton(self, name, funreturn):
button_height= 32
button = gtk.Button()
button.props.relief = gtk.RELIEF_NONE
label = gtk.Label()
label.set_markup('<span color="#ffffff"><small>' + name + '</small></span>')
button.add(label)
button.set_name("deButton")
button.connect("clicked" , funreturn , None)
button.set_size_request(48, button_height)
return button
def callback(self):
print "none"
def __init__(self):
super(PyApp, self).__init__()
""" Window """
button_rc = """
pixmap_path "/var/tmp"
### Background > Image
style "window" {
bg_pixmap[NORMAL] = "menu/keyboard_new.png"
}
style "deButton" {
fg[PRELIGHT] = { 0, 1.0, 1.0 }
bg[PRELIGHT] = { 0, 0, 1.0 }
bg[ACTIVE] = { 1.0, 0, 0 }
fg[ACTIVE] = { 0, 1.0, 0 }
bg[NORMAL] = { 1.0, 1.0, 0 }
fg[NORMAL] = { .99, 0, .99 }
bg[INSENSITIVE] = { 1.0, 1.0, 1.0 }
fg[INSENSITIVE] = { 1.0, 0, 1.0 }
engine "pixmap" {
image {
function = BOX
file = "menu/commonbutton1.png"
stretch = TRUE
}
}
bg_pixmap[NORMAL] = "menu/commonbutton1.png"
}
# imports
widget "*.deButton" style "deButton"
widget_class "*GtkButton*" style "button"
widget_class "GtkWindow" style "window"
"""
self.set_title("Keyboard")
self.set_size_request(600, 300)
self.set_position(gtk.WIN_POS_CENTER)
gtk.rc_parse_string(button_rc)
vbox = gtk.VBox(False, 2)
table = gtk.Table(5, 10, True)
table.attach(self.createButton("1",self.callback), 0, 1, 0, 1)
table.attach(self.createButton("2",self.callback), 1, 2, 0, 1)
table.attach(self.createButton("3",self.callback), 2, 3, 0, 1)
table.attach(self.createButton("4",self.callback), 3, 4, 0, 1)
table.attach(self.createButton("5",self.callback), 4, 5, 0, 1)
table.attach(self.createButton("6",self.callback), 5, 6, 0, 1)
table.attach(self.createButton("7",self.callback), 6, 7, 0, 1)
table.attach(self.createButton("8",self.callback), 7, 8, 0, 1)
table.attach(self.createButton("9",self.callback), 8, 9, 0, 1)
table.attach(self.createButton("0",self.callback), 9, 10, 0, 1)
table.attach(self.createButton("Q",self.callback), 0, 1, 1,2)
table.attach(self.createButton("W",self.callback), 1, 2, 1, 2)
table.attach(self.createButton("E",self.callback), 2, 3, 1, 2)
table.attach(self.createButton("R",self.callback), 3, 4, 1, 2)
table.attach(self.createButton("T",self.callback), 4, 5, 1, 2)
table.attach(self.createButton("Y",self.callback), 5, 6, 1, 2)
table.attach(self.createButton("U",self.callback), 6, 7, 1, 2)
table.attach(self.createButton("I",self.callback), 7, 8, 1, 2)
table.attach(self.createButton("O",self.callback), 8, 9, 1, 2)
table.attach(self.createButton("P",self.callback), 9, 10, 1, 2)
table.attach(self.createButton("A",self.callback), 0, 1, 2,3)
table.attach(self.createButton("S",self.callback), 1, 2, 2, 3)
table.attach(self.createButton("D",self.callback), 2, 3, 2, 3)
table.attach(self.createButton("F",self.callback), 3, 4, 2, 3)
table.attach(self.createButton("G",self.callback), 4, 5, 2, 3)
table.attach(self.createButton("H",self.callback), 5, 6, 2, 3)
table.attach(self.createButton("J",self.callback), 6, 7, 2, 3)
table.attach(self.createButton("K",self.callback), 7, 8, 2, 3)
table.attach(self.createButton("L",self.callback), 8, 9, 2, 3)
table.attach(self.createButton("",self.callback), 9, 10, 2, 3)
#vbox.pack_start(gtk.Entry(), False, False, 0)
vbox.pack_end(table, True, True, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
最佳答案
好的 - 可以,最好使用固定小部件而不是表格或网格。
#!/usr/bin/python
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
""" Window - Background embed """
button_rc = """
pixmap_path "/var/tmp"
# Button - image apply
style "window" {
bg_pixmap[NORMAL] = "menu/keyboard_new.png"
}
style "deButton" {
fg[PRELIGHT] = { 0, 1.0, 1.0 }
bg[PRELIGHT] = { 0, 0, 1.0 }
bg[ACTIVE] = { 1.0, 0, 0 }
fg[ACTIVE] = { 0, 1.0, 0 }
bg[NORMAL] = { 1.0, 1.0, 0 }
fg[NORMAL] = { .99, 0, .99 }
bg[INSENSITIVE] = { 1.0, 1.0, 1.0 }
fg[INSENSITIVE] = { 1.0, 0, 1.0 }
engine "pixmap" {
image {
function = BOX
file = "menu/commonbutton1.png"
stretch = TRUE
}
}
bg_pixmap[NORMAL] = "menu/commonbutton1.png"
}
# imports
widget "*.deButton" style "deButton"
widget_class "*GtkButton*" style "button"
widget_class "GtkWindow" style "window"
"""
self.set_title("Keyboard")
self.set_size_request(600, 300)
self.set_position(gtk.WIN_POS_CENTER)
gtk.rc_parse_string(button_rc) ##<<<<< include the design
vbox = gtk.VBox(False, 2)
fix = gtk.Fixed() ## YumYumYum
""" Row 1 """
fix.put( gtk.Button("1") , 20 , 20 )
fix.put( gtk.Button("2") , 80 , 20 )
fix.put( gtk.Button("3") , 150 , 20 )
""" Row 2 """
fix.put( gtk.Button("Q") , 20 , 80 )
""" Row 3 """
fix.put( gtk.Button("A") , 60 , 130 )
""" Row 4 """
fix.put( gtk.Button("Z") , 60 , 190 )
""" Row 5 """
fix.put( gtk.Button("SPACE") , 180 , 240 )
vbox.pack_end(fix, True, True, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
关于python - PyGTK - 如何使用此表格布局来匹配背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19403842/
我只想在给定 X 和 Y 的屏幕上放置一个图像。 最佳答案 使用 GtkFixed 容器到 GtkWindow 内的绝对位置 如果要绝对定位顶层窗口本身,请使用 gtk_window_move()。
如何将菜单栏粘贴在窗口顶部? 我正在使用 Gtk.VBox我添加了 Gtk.MenuBar里面。我正在使用 Gtk3 代码来源:http://pastebin.com/YHZQLzZg 谢谢 最佳答案
当有人建议我考虑使用 Twisted 时,我正在努力让一些异步事件在 PyGTK 下工作。 我知道 Twisted 最初是一个网络框架,但它可以用于其他事情。但是,我见过的每个示例都涉及大量基于网络的
操作系统:Ubuntu 15.10 我使用默认的 Python 解释器导入 pygtk 没有问题。但是我无法使用 Anaconda 解释器这样做。 Python 2.7.11 |Anaconda 2.
我正在设计一个 pygtk GUI 并想在其中嵌入一个外部应用程序。 有人知道如何做到这一点吗? 最佳答案 这取决于您要嵌入的应用程序,但如果另一个应用程序是 GTK 应用程序(或支持 XEMBED
我有一个 gtk.Notebook,我想从当前的 gtk.noteBook 选项卡中获取标签文本。我做到了: text = self.get_tab_label(self.get_nth_page(s
我正在使用自定义容器,我需要在其中重新排序小部件,但没有方法可以做到。所以我尝试删除所有小部件并按顺序再次添加它们。 问题是这不能很好地工作,再次添加它们后我看不到小部件,我想发生的事情是当我删除小部
我希望窗口透明,但标签的不透明度为 100%。我怎样才能做到这一点?顺便说一句:当我升级到 Ubuntu 12.04 的统一界面时,我注意到 window.set_opacity 不像在 GNOME
是否可以通过PyGTK取消选中组中的所有单选按钮?启动时没有选中任何单选按钮,因此我认为必须有一种方法可以将它们全部恢复为未选中状态。 最佳答案 应该没有。从本质上讲,单选按钮组是“选择多个”控件类型
我有一个 gtk.Entry() 对象,我想手动发出 focus-out-event。我需要传递给 emit 方法的第二个参数是什么? In [10]: d.emit('focus-out-event
我到处找,但似乎找不到改变边框颜色的方法。 例如我需要一个这样的按钮: gb = gtk.Button("Hi") gb.set_border_width(50) 现在我希望将边框着色为红色(这是一个
如果我在 pyGTK 中有一个组合框,并且想要设置一个字符串列表,然后单击其中一个激活命令,我该怎么做? 目前我有: self.combo_key = gtk.Combo() self
我想将一个窗口嵌入到另一个窗口中,有点像这样: 编辑:屏幕截图已删除,抱歉! 那是一个 wingdows 程序,不是用 GTK很难做的。 我尝试使用插头和 socket ,但显然我无法将 gtk.Wi
我正在尝试使用 PyGTK 创建一个窗口,该窗口已根据字符串数组动态创建单选按钮(一个看起来像 ["option 1", "option 2", "option 3"] 的数组将创建3 个单选按钮,带
如何创建将一个像素值设置为透明的 PyGTK 像素图?我知道它与创建深度为 1 的像素图并将其设置为 mask 有关,但我发现它要么不执行任何操作,要么在绘制时完全删除我的像素图。目前,我制作了一个像
我在更新自定义 GTK+ 小部件时遇到问题:VUWidget。Generator 类正在更新类Section 的level 属性,该类的子类具有VUWidget 属性。 Generator 类正确更新
我正在尝试学习 pygtk,并且正在为 axel 开发 GUI。 我的问题是我需要在主窗口中显示下载进度。 我使用了两个线程,一个用于下载,第二个用于进度计算。下载是由axel完成的但我的第二个线程直
我想设置窗口的大小,然后能够在程序运行时调整它的大小。我已经能够使窗口变大,但无法将其调整为小于原始设置大小。对于不同的项目,我还想知道如何制作它,使窗口根本无法调整大小。 最佳答案 对于第一个问题:
我正在做一个项目,我想从 MySQL 数据库加载数据并将其显示在 PyGTK 应用程序中以便于查看和配置。我的目标是让程序根据数据库内容自动添加新行,即。如果我向数据库添加一个新命令,我不需要对我的
我按照 this post. 中的说明进行操作一切都安装成功。但是,当我运行 python 时,我无法导入 pygtk。具体来说,它是这样说的: >>> 导入 pygtk\n “导入错误:没有名为 p
我是一名优秀的程序员,十分优秀!