猿问

Python tkiner,两个文本框,两个文本框都有x和y滚动条

我正在尝试制作一个GUI,该GUI具有两个单独的文本输出,每个文本框都有水平和垂直的scollbar,这些文本框固定在每个文本窗口的右边缘和下边缘。我正在努力解决如何使用tkinter网格做到这一点,任何帮助将不胜感激。


import tkinter as tk



class 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")


慕标琳琳
浏览 104回答 1
1回答

三国纷争

以下示例允许您将两个功能性滚动条 (x, y) 附加到“文本”构件from tkinter import *# Create Windowroot = Tk()# Create ScrollBarsxScrollbar = Scrollbar(root, orient=HORIZONTAL) yScrollbar = Scrollbar(root, orient=VERTICAL)# Create Text Widget with scroll commandsTextWidget = Text(root, xscrollcommand=xScrollbar, yscrollcommand=yScrollbar)# Package ComponetsxScrollbar.pack(side=BOTTOM, fill=X)yScrollbar.pack(side=RIGHT, fill=Y)TextWidget.pack(fill=BOTH, expand=20)# Assign Scrollbars with TextWidgetxScollbar.config(command=TextWidget.xview)yScollbar.config(command=TextWidget.yview)您可以在天气应用程序中将此检查用于两个文本标记。
随时随地看视频慕课网APP

相关分类

Python
我要回答