ubuntu filedialog.askdirectory版本太低了

时间:2018-01-13 03:07:20

标签: python ubuntu tkinter

我试图调用ubuntu的文件对话框来选择python3.6的目录,代码如下:

    from tkinter import filedialog
    filedialog.askdirectory()

但是当我运行它时,一个非常旧的版本文件对话框显示:

file dialog

如何使用python调用ubuntu的最新文件对话框?

2 个答案:

答案 0 :(得分:1)

它不是旧版本,它是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 /默认:

enter image description here

蛤:

enter image description here

ALT:

enter image description here

您可以获得更多主题安装模块

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

样式列表

enter image description here enter image description here enter image description here enter image description here enter image description here

克洛克:

enter image description here

辐射:

enter image description here

答案 1 :(得分:0)

tkinter(以及基础tk库)提供的UI组件与您的桌面可能使用的GTK或Qt库提供的UI组件不同。< / p>

tkinter has a set of alternative widgets,您可以使用

进行访问
from tkinter.ttk import *

支持桌面的外观和感觉,但是(afaict)不幸的是