Python tkinter 不会显示对角线

标签 python linux tkinter

我最近开始使用 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/

相关文章:

没有参数的 Python argparse 命令行标志

python - 如何将Python中的二维列表导出到excel?

python - Tkinter 的 event_generate 命令被忽略

python - pygame 和 python 不适合我

python - 为什么最后一列的数据类型是 str 而不是 float?

c - 有没有办法在执行过程中更改 sigaction 标志?

linux - 推荐哪一个: using static lib vs dynamic lib (shared object)

java - 永久设置 CLASSPATH

python - 如何退出pyplot循环?

python - 我正在将 pygame 窗口嵌入到 Tkinter 中,如何操作 pygame 窗口?