Python ubuntu filedialog.askdirectory版本过低
我试图调用ubuntu的文件对话框,用python3.6选择一个目录,代码如下:Python ubuntu filedialog.askdirectory版本过低,python,ubuntu,tkinter,Python,Ubuntu,Tkinter,我试图调用ubuntu的文件对话框,用python3.6选择一个目录,代码如下: from tkinter import filedialog filedialog.askdirectory() 但当我运行此程序时,一个非常旧的版本文件对话框显示: 关于如何使用python调用ubuntu的最新文件对话框,您有什么想法吗?tkinter提供的UI组件(以及底层的tk库)与您的桌面可能使用的GTK或Qt库提供的UI组件不同 ,您可以使用 from tkinter.ttk imp
from tkinter import filedialog
filedialog.askdirectory()
但当我运行此程序时,一个非常旧的版本文件对话框显示:
关于如何使用python调用ubuntu的最新文件对话框,您有什么想法吗?tkinter提供的UI组件(以及底层的
tk
库)与您的桌面可能使用的GTK或Qt库提供的UI组件不同
,您可以使用
from tkinter.ttk import *
它支持桌面的外观,但(afaict)不幸的是
文件对话框
小部件不受支持。它不是旧版本,是GTK的标准主题。您必须使用主题来更改它。但是Linux默认只有三种样式
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
root = tk.Tk()
root.style = ttk.Style()
print(root.style.theme_names())
root.style.theme_use('clam')
filedialog.askdirectory()
root.mainloop()
classis/默认值:
蛤蜊:
alt:
您可以在安装模块时获得更多主题
pip install ttkthemes
和代码
import tkinter as tk
from tkinter import ttk
import ttkthemes
root = tk.Tk()
root.style = ttkthemes.ThemedStyle()
for i, name in enumerate(sorted(root.style.theme_names())):
b = ttk.Button(root, text=name, command=lambda name=name:root.style.theme_use(name))
b.pack(fill='x')
root.mainloop()
样式列表
克罗克:
辐射度:
这不是旧版本,它是GTK的标准主题。您必须使用主题来更改它。