Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter滚动条奇异性_Python_Python 3.x_Tkinter - Fatal编程技术网

Python Tkinter滚动条奇异性

Python Tkinter滚动条奇异性,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我目前正在做一个程序,帮助我简化将笔记放入工作票的过程。我已经能够让UI在一台机器上正常工作,但在其他机器上它看起来不同。我唯一的问题是滚动条。我将Tkinter用于UI框架,因为它是唯一一个被列入白名单的框架,并且所有机器都运行相同的Windows7 64位和Python环境 from tkinter import * import tkinter as tk import tkinter.ttk as ttk import tkinter.messagebox import tkinter.

我目前正在做一个程序,帮助我简化将笔记放入工作票的过程。我已经能够让UI在一台机器上正常工作,但在其他机器上它看起来不同。我唯一的问题是滚动条。我将Tkinter用于UI框架,因为它是唯一一个被列入白名单的框架,并且所有机器都运行相同的Windows7 64位和Python环境

from tkinter import *
import tkinter as tk
import tkinter.ttk as ttk
import tkinter.messagebox
import tkinter.simpledialog

# create the window
top = Tk()
top.title("Notes Generator")
top.resizable(0, 0)
top.option_add("*Font", "Times 10")

txtDiscovery = Text(top, height=6, wrap=WORD)
scrolldiscovery = ttk.Scrollbar(top, orient=VERTICAL, command=txtDiscovery.yview)
txtDiscovery['yscrollcommand'] = scrolldiscovery.set
txtDiscovery.grid(row=3, columnspan=4, rowspan=6, padx=(8, 0), pady=8)
scrolldiscovery.grid(row=3, column=4, rowspan=6, sticky='nsew', padx=(0, 8), pady=8)


# Loop the loop
top.mainloop()


编辑:我很抱歉没有包括所有必要的信息。仍然生成布局异常的程序的工作框架已经包含在内。

我能够找到问题所在。在完整版本的代码中,我在窗口底部有一个额外的框架,包含几个按钮。我在代码中设置了这些按钮的宽度,出于某种原因,Python在我的机器和其他机器之间分配了不同的像素值。这导致屏幕底部的框架在其他机器上变宽,并使最后一列变宽以进行补偿。我可以使用grid_columnconfigure为我的按钮设置3个相等的列,并使用sticky选项展开它们。我不知道grid\u columnconfigure的存在或它的作用。

请提供一个。布局问题通常不能在真空中调试。解决方案可能是向一个或多个列0-3添加权重,和/或为文本小部件使用
sticky
属性,以便它填充给定的空间。避免两次导入tkinter。删除tkinter导入中的
*
行,因为它不是必需的。您发布的代码太多了。请尽量精简到最小和完整的程度。例如,您可能不需要靠近顶部的任何函数,也不需要设置iconbitmap或绑定,您实际上只需要一个文本小部件和滚动条。我接受了您的建议,但不幸的是,它破坏了我的大部分代码。我愿意接受任何建议。我仍在学习,对这个网站也是新的。如果我提交的东西不正确,我会很乐意回去修复它。这段代码看起来不错。滚动条紧靠文本小部件。我们需要重现您的问题的代码,因此我们可以使用它作为修复问题的基础。从您现有的代码开始。删除看似无关的东西。还有问题吗?删除另一个块。还有问题吗?删除另一个块。等等继续删除区块,直到问题消失,然后替换您删除的最后一个区块。尝试删除其他块。一直这样做,直到你有可能最小的代码仍然有问题。