我最近开始使用 Arch Linux,将一个 python 文件从我的 mac 传输到 Linux 并运行它后,它没有工作。这很常见,但是,它不起作用的方式非常奇怪。该程序是一个绘制直线方程的程序,但在 Linux 上,tkinter Canvas 对象的 create_line 方法不再显示对角线。例如,绘制 y=x 不会显示任何内容,但会说它成功绘制了直线。我尝试在我的程序之外画一条对角线(从 (0, 0) 到 (20, 20)),但它在那里也不起作用。我尝试调整宽度,但没有任何改变。我正在使用 i3wm,并尝试了 lxde,但没有任何改变。我用 pacman 安装了最新版本的 python3,我不得不单独安装 tk。有什么办法可以解决这个问题吗?
更新: 它也不适用于从网站安装的 python3
更新: 在运行arch linux的虚拟机中工作,所以它可能与驱动程序或硬件有关
编辑:这是一个例子
from tkinter import *
root = Tk()
canvas = Canvas(master=root)
canvas.pack()
canvas.create_line(0, 0, 20, 20)
返回 1,不做任何其他事情。 同时:
canvas.create_line(0, 20, 20, 20) # horizontal line
返回 1, 2, 3...(取决于你画了多少东西)并画线。
最佳答案
我能够通过安装正确的驱动程序来修复它,在我的例子中是 xf86-video-intel,然后重新启动。我认为这只是一个新手错误,但仍然有点有趣的是,丢失的驱动程序只影响 tkinter 中的对角线。
关于Python tkinter 不会显示对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38278420/