Python GTK + 3仅弹出一个文件选择器对话框?

RPi真棒

我正在尝试创建一个使用Gtk FileChooserDialog对话框的程序。我在这里遵循了教程,并且可以正常工作。但是,我只想弹出对话框,而不必处理实际的Gtk窗口。

在删除已经存在的代码之后,我尝试将本教程中的on_file_clicked()代码放入函数中,并将其放入__init__函数中(并对其进行一些调整,使其看起来可以正常工作)__init__

class FileChooserWindow(Gtk.Window):

    def __init__(self):
        global path

        dialog = Gtk.FileChooserDialog("Please choose a file", self,
            Gtk.FileChooserAction.OPEN,
            (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
             Gtk.STOCK_OPEN, Gtk.ResponseType.OK))

        self.add_filters(dialog)

        response = dialog.run()
        if response == Gtk.ResponseType.OK:
            print("Open clicked")
            print("File selected: " + dialog.get_filename())
            path = dialog.get_filename()
            dialog.destroy()
        elif response == Gtk.ResponseType.CANCEL:
            print("Cancel clicked")
            dialog.destroy()

    def add_filters(self, dialog):
        filter_any = Gtk.FileFilter()
        filter_any.set_name("Any files")
        filter_any.add_pattern("*")
        dialog.add_filter(filter_any)

        filter_text = Gtk.FileFilter()
        filter_text.set_name('Text files')
        filter_text.add_mime_type('text/plain')
        dialog.add_filter(filter_text)

        filter_py = Gtk.FileFilter()
        filter_py.set_name('Python files')
        filter_py.add_mime_type('text/x-python')
        dialog.add_filter(filter_py)

        filter_img = Gtk.FileFilter()
        filter_img.set_name('Image')
        filter_img.add_mime_type('image/*')
        dialog.add_filter(filter_img)

win = FileChooserWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

但它只会返回此错误:

Traceback (most recent call last):
  File "base.py", line 152, in <module>
    win = FileChooserWindow()
  File "base.py", line 38, in __init__
    Gtk.STOCK_OPEN, Gtk.ResponseType.OK))
  File "/usr/lib/python3/dist-packages/gi/overrides/__init__.py", line 175, in new_init
    return super_init_func(self, **new_kwargs)
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 500, in __init__
    self._init(*args, **new_kwargs)
  File "/usr/lib/python3/dist-packages/gi/overrides/__init__.py", line 175, in new_init
    return super_init_func(self, **new_kwargs)
  File "/usr/lib/python3/dist-packages/gi/overrides/__init__.py", line 175, in new_init
    return super_init_func(self, **new_kwargs)
TypeError: could not convert value for property `transient_for' from FileChooserWindow to GtkWindow

有谁知道拉起Gtk FileChooserDialog对话框的正确方法

赛斯

在第6行上声明对话框时:

dialog = Gtk.FileChooserDialog("Please choose a file", self,  

self是对话框的父级。要创建没有父项的对话框,请将其设置为None,如下所示:

dialog = Gtk.FileChooserDialog("Please choose a file", None,

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python3,Gtk3-GtkGrid扩展

来自分类Dev

使GTK#文件选择器仅选择文件

来自分类Dev

Python GTK + 3安全线程

来自分类Dev

如何在GTK的主窗口中居中放置一个对话框窗口?

来自分类Dev

Python GTK 3 Glade 3计时器

来自分类Dev

Python中的GTK3对话框,Gtk.Entry上的“输入密钥”应触发“确定”按钮

来自分类Dev

Python + Gtk:关闭文件对话框时,如何检查?

来自分类Dev

Python GTK颜色选择器小部件-设置颜色

来自分类Dev

Python GTK:确认覆盖对话框阻止文件选择器对话框

来自分类Dev

python GTK3限制标签宽度

来自分类Dev

非GTK应用程序中的GTK + 3文件选择器

来自分类Dev

Python GTK 3+控制关闭窗口

来自分类Dev

Python GTK3:如何创建Gtk.FileChooseDialog?

来自分类Dev

Python GTK3:如何使用gtk _ * _ new _ *()函数

来自分类Dev

如何为Python安装GTK + 3

来自分类Dev

KivyMD // Python如何创建一个加载对话框(弹出窗口),该对话框在后台运行代码的同时显示一个旋转的轮子

来自分类Dev

Gtk对话框仅出现一次

来自分类Dev

如何为Python安装GTK + 3

来自分类Dev

阻止Gtk文件对话框列出挂载点

来自分类Dev

在GTK#中显示字体选择对话框

来自分类Dev

Python GTK3继承

来自分类Dev

GTK + 3文件对话框位置输入?

来自分类Dev

如何使用gtk文件对话框设置VLC?

来自分类Dev

每行的python-gtk cellrenderer组合框

来自分类Dev

Python GTK3:如何创建Gtk.FileChooseDialog?

来自分类Dev

Python GTK3:如何使用gtk _ * _ new _ *()函数

来自分类Dev

代号一个文件选择器对话框

来自分类Dev

使用 Python GTK3 Gtk.Application 打开多个应用程序窗口的正确方法

来自分类Dev

Python gtk3文件选择器限制文件夹

Related 相关文章

热门标签

归档