gpt4 book ai didi

Python + pygtk 从数据库生成复选框表

转载 作者:行者123 更新时间:2023-11-29 02:30:54 29 4
gpt4 key购买 nike

我正在做一个项目,我想从 MySQL 数据库加载数据并将其显示在 PyGTK 应用程序中以便于查看和配置。我的目标是让程序根据数据库内容自动添加新行,即。如果我向数据库添加一个新命令,我不需要对我的 GTK 应用程序进行任何更改。

这是我的测试数据库:

+----+----------+---------+----+--------+
| id | name | enabled | op | desc |
+----+----------+---------+----+--------+
| 1 | !help | 1 | 0 | blabla |
| 2 | !version | 1 | 1 | blabla |
| 3 | !tp | 0 | 1 | blabla |
+----+----------+---------+----+--------+

我想(动态地)创建一个看起来像这样的 GTK 应用程序: http://i.imgur.com/EMhkz.png

我之前有一些使用 python 的经验,但没有那么多 GTK,我不确定如何解决这个问题。有人可以给我一个工作示例吗?

问候奥斯卡

最佳答案

你可以试试这个。我会让你填写细节,比如 MySQL 的东西。这里的重要部分,使小部件看起来均匀分布的是参数

gtk.HBox(homogeneous=True)

否则它们会到处都是,只占用展示自己所需的空间。

希望这就是您所追求的。

import pygtk
pygtk.require20()
import gtk

data = [['1', '!help', '1', '0', 'blabla'],
['2', '!version', '1', '1', 'blabla'],
['3', '!tp', '0', '1', 'blabla']]

def main():
window = gtk.Window()
window.set_title('Dynamic controls')
window.connect("delete_event", gtk.main_quit)

vbox = gtk.VBox()
window.add(vbox)

for row in data:
hbox = gtk.HBox(homogeneous=True)
hbox.pack_start(gtk.Label(row[1]))
enabled_checkbox = gtk.CheckButton('Enabled')
enabled_checkbox.set_active(row[2] is '1')
hbox.pack_start(enabled_checkbox)
op_checkbox = gtk.CheckButton('OP')
op_checkbox.set_active(row[3] is '1')
hbox.pack_start(op_checkbox)
hbox.pack_start(gtk.Label(row[4]))
vbox.pack_start(hbox)


window.show_all()
gtk.main()

if __name__ == '__main__':
main()

关于Python + pygtk 从数据库生成复选框表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334513/

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