Python + Glade + PyGObject。如何一次获得两个文本字段的值?

帕特里克·柯林斯

我在使用Glade和Python 3构建UI时有些失落。我制作了一个GtkWindows,其中有一个GtkBoxGtkBox有一个GtkButton和两个GtkPaned对象。每个窗格都有一个GtkEntry对象。最终,我希望它成为登录表单:用户单击“连接”按钮,并且两个GtkEntry对象的文本值被处理程序拾取并发送到服务器。我的代码的相关部分如下所示:

class Handler:
    def on_MainWindow_destroy(self, *args):
        Gtk.main_quit(*args)

    def on_LoginButton_clicked(self, *args):
        print(*args)
        #do other stuff


if __name__ == '__main__':
    builder = Gtk.Builder()
    builder.add_from_file('myui.glade')
    builder.connect_signals(Handler())

    window = builder.get_object("MainWindow")
    window.show_all()

    Gtk.main()

(与我的问题的原始主题略有不同:在Glade中命名GObjects的正确方法是什么?CamelCase?lowercase_underscores?)

我希望LoginButton在单击时对两个字段的文本都进行处理。但是,Glade仅使您可以选择将单个对象传递给处理程序。我可以将on_LoginButton_clicked方法附加LoginButton两次,并在第一次调用时将username字段传递给它,在第二次调用时将password字段传递给它,但这看起来很混乱。什么是正确的方法?

哈沃克

您需要在使用GtkBuilder的类中同时引用这两个对象get_object()然后,在按钮的回调中只需加上self.myfield1.get_text()左右两个文本即可检查此模板以了解如何构建PyGObject应用程序:

如何构造使用GUI的程序?

希望能帮助到你。

编辑:关于命名方案,我将使用将使用Glade文件的语言使用的任何命名方案。在PyGObject中进行编程时,我将Glade文件上的对象命名为与Python变量相同,因此我可以这样做:

[...]
go = self.builder.get_object
self.window = go('window')
self.my_foobar = go('my_foobar')
[...]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除Glade中的菜单?

来自分类Dev

MultiWindow错误Glade,Gtk和Python

来自分类Dev

MultiWindow错误Glade,Gtk和Python

来自分类Dev

Glade:如何设置旋转按钮的值?

来自分类Dev

如何从/ opt进行Glade加载翻译

来自分类Dev

如何从/ opt进行Glade加载翻译

来自分类Dev

我不知道如何在glade / python(快速生成)中向菜单项添加功能

来自分类Dev

如何在带有glade和pygobject的视图之间导航?

来自分类Dev

如何获取输入文本 GTK2 + Glade 的值

来自分类Dev

Python GTK 3 Glade 3计时器

来自分类Dev

使用GTK3 / Glade / Python关闭窗口时出错

来自分类Dev

首选项窗口关闭时销毁 - Glade、Gtk、Python

来自分类Dev

PyGObject和Glade将窗口发送到前面

来自分类Dev

如何在Glade中更改“文本输入”的字体属性

来自分类Dev

在Glade中制作一个GtkLabel填充宽度

来自分类Dev

Python:一次两个循环

来自分类Dev

Python:一次两个循环

来自分类Dev

如何读取gtk3对象的“ glade ID”

来自分类Dev

如何在Glade 3.20中使用GtkHeaderBar?

来自分类Dev

如何使图像显示在Glade Designer中的按钮上?

来自分类Dev

如何使图像显示在Glade Designer中的按钮上?

来自分类Dev

如何在使用Glade开发的GUI上添加小部件?

来自分类Dev

如何在Glade中添加按钮并调整大小

来自分类Dev

如何在Glade 3.20中使用GtkHeaderBar?

来自分类Dev

如何一次将两列与 python (pandas) 中的两个不同数据框进行比较?

来自分类Dev

通过使用win32com执行复制粘贴时出错(Glade GTK Python)

来自分类Dev

在使用Glade创建的Python GTK3程序中导入CSS文件

来自分类Dev

通过使用win32com执行复制粘贴时出错(Glade GTK Python)

来自分类Dev

Gtk3 - Python - Glade - 不同窗口上的“链接”组合框

Related 相关文章

  1. 1

    如何删除Glade中的菜单?

  2. 2

    MultiWindow错误Glade,Gtk和Python

  3. 3

    MultiWindow错误Glade,Gtk和Python

  4. 4

    Glade:如何设置旋转按钮的值?

  5. 5

    如何从/ opt进行Glade加载翻译

  6. 6

    如何从/ opt进行Glade加载翻译

  7. 7

    我不知道如何在glade / python(快速生成)中向菜单项添加功能

  8. 8

    如何在带有glade和pygobject的视图之间导航?

  9. 9

    如何获取输入文本 GTK2 + Glade 的值

  10. 10

    Python GTK 3 Glade 3计时器

  11. 11

    使用GTK3 / Glade / Python关闭窗口时出错

  12. 12

    首选项窗口关闭时销毁 - Glade、Gtk、Python

  13. 13

    PyGObject和Glade将窗口发送到前面

  14. 14

    如何在Glade中更改“文本输入”的字体属性

  15. 15

    在Glade中制作一个GtkLabel填充宽度

  16. 16

    Python:一次两个循环

  17. 17

    Python:一次两个循环

  18. 18

    如何读取gtk3对象的“ glade ID”

  19. 19

    如何在Glade 3.20中使用GtkHeaderBar?

  20. 20

    如何使图像显示在Glade Designer中的按钮上?

  21. 21

    如何使图像显示在Glade Designer中的按钮上?

  22. 22

    如何在使用Glade开发的GUI上添加小部件?

  23. 23

    如何在Glade中添加按钮并调整大小

  24. 24

    如何在Glade 3.20中使用GtkHeaderBar?

  25. 25

    如何一次将两列与 python (pandas) 中的两个不同数据框进行比较?

  26. 26

    通过使用win32com执行复制粘贴时出错(Glade GTK Python)

  27. 27

    在使用Glade创建的Python GTK3程序中导入CSS文件

  28. 28

    通过使用win32com执行复制粘贴时出错(Glade GTK Python)

  29. 29

    Gtk3 - Python - Glade - 不同窗口上的“链接”组合框

热门标签

归档