ubuntu的python怎么调用_在python中调用ubuntu文件浏览器(explorer)

这篇博客介绍了如何在Ubuntu环境下,通过Python调用GTK库创建文件选择和文件夹选择对话框。通过示例代码展示了如何响应用户点击事件,打开文件或选择文件夹,并设置不同类型的文件过滤器。
摘要由CSDN通过智能技术生成

我刚刚找到了一个脚本,完全符合我的要求:from gi.repository import Gtk

class FileChooserWindow(Gtk.Window):

def __init__(self):

Gtk.Window.__init__(self, title="FileChooser Example")

box = Gtk.Box(spacing=6)

self.add(box)

button1 = Gtk.Button("Choose File")

button1.connect("clicked", self.on_file_clicked)

box.add(button1)

button2 = Gtk.Button("Choose Folder")

button2.connect("clicked", self.on_folder_clicked)

box.add(button2)

def on_file_clicked(self, widget):

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())

elif response == Gtk.ResponseType.CANCEL:

print("Cancel clicked")

dialog.destroy()

def add_filters(self, dialog):

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_any = Gtk.FileFilter()

filter_any.set_name("Any files")

filter_any.add_pattern("*")

dialog.add_filter(filter_any)

def on_folder_clicked(self, widget):

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

Gtk.FileChooserAction.SELECT_FOLDER,

(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,

"Select", Gtk.ResponseType.OK))

dialog.set_default_size(800, 400)

response = dialog.run()

if response == Gtk.ResponseType.OK:

print("Select clicked")

print("Folder selected: " + dialog.get_filename())

elif response == Gtk.ResponseType.CANCEL:

print("Cancel clicked")

dialog.destroy()

win = FileChooserWindow()

win.connect("delete-event", Gtk.main_quit)

win.show_all()

Gtk.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值