我正在尝试制作一个GUI,该GUI具有两个单独的文本输出,每个文本框都有水平和垂直的scollbar,这些文本框固定在每个文本窗口的右边缘和下边缘。我正在努力解决如何使用tkinter网格做到这一点,任何帮助将不胜感激。import tkinter as tkclass WeatherGUI(tk.Tk): def __init__(self): tk.Tk.__init__(self) # Horizontal (x) Scroll bar self.xscrollbar = tk.Scrollbar(self, orient="horizontal") self.xscrollbar.grid(column=5, row=10, sticky="we") # Vertical (y) Scroll Bar self.yscrollbar = tk.Scrollbar(self) self.yscrollbar.grid(column=5, row=10, sticky='ns') self.xscrollbar2 = tk.Scrollbar(self, orient="horizontal") self.xscrollbar2.grid(column=9, row=10, sticky="we") # Vertical (y) Scroll Bar self.yscrollbar2 = tk.Scrollbar(self) self.yscrollbar2.grid(column=9, row=10, sticky='ns') self.NSW_actual_text = tk.Text(self, width=50, wrap = "none", xscrollcommand=self.xscrollbar.set, yscrollcommand=self.yscrollbar.set,) self.NSW_actual_text.grid(column=0, columnspan=4, row= 8,padx=(20, 10)) self.NSW_forecast_text = tk.Text(self, width=50, wrap = "none", xscrollcommand=self.xscrollbar.set, yscrollcommand=self.yscrollbar.set) self.NSW_forecast_text.grid(column=8, columnspan=4, row= 8,padx=(20, 10)) self.xscrollbar.config(command=self.NSW_actual_text.xview) self.yscrollbar.config(command=self.NSW_actual_text.yview) self.xscrollbar2.config(command=self.NSW_forecast_text.xview) self.yscrollbar2.config(command=self.NSW_forecast_text.yview) self.btn1 = tk.Button(self, text="Generate NWS Actual", command=self.GenerateNWSActual) self.btn1.grid(column=1, row=0) self.btn2 = tk.Button(self, text="Generate NWS Forecast", command=self.GenerateNWSForecast) self.btn2.grid(column=10, row=0) def GenerateNWSActual(self): self.NSW_actual_text.insert('1.0', "This is where actual weather would go")
1 回答

三国纷争
TA贡献1804条经验 获得超7个赞
以下示例允许您将两个功能性滚动条 (x, y) 附加到“文本”构件
from tkinter import *
# Create Window
root = Tk()
# Create ScrollBars
xScrollbar = Scrollbar(root, orient=HORIZONTAL)
yScrollbar = Scrollbar(root, orient=VERTICAL)
# Create Text Widget with scroll commands
TextWidget = Text(root, xscrollcommand=xScrollbar, yscrollcommand=yScrollbar)
# Package Componets
xScrollbar.pack(side=BOTTOM, fill=X)
yScrollbar.pack(side=RIGHT, fill=Y)
TextWidget.pack(fill=BOTH, expand=20)
# Assign Scrollbars with TextWidget
xScollbar.config(command=TextWidget.xview)
yScollbar.config(command=TextWidget.yview)
您可以在天气应用程序中将此检查用于两个文本标记。
添加回答
举报
0/150
提交
取消