您可以组合两个 tkinter tk 小部件吗? [英] Can you combine two tkinter tk widgets?

查看:29
本文介绍了您可以组合两个 tkinter tk 小部件吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个包含两个 Tk() 小部件的应用程序.是否可以将它们并排组合成一个更大的小部件以使应用更易于使用?

I am creating an app which will have two Tk() widgets. Is it possible to combine them side into one larger widget side by side to make the app easier to use?

from tkinter import *

tk = Tk()
canvas = Canvas(tk,width=400, height=150)
canvas.pack()

tk2 = Tk()
canvas2 = Canvas(tk2,width=400, height=150)
canvas2.pack()

tk.mainloop(), tk2.mainloop()

当我这样做来制作基本窗口时,我显然得到了两个单独的窗口.可以合二为一吗?

When I do this to make the basic windows, I obviously get two seperate windows. Can that be combined into one?

我是初学者,正在使用 python 3.3

I am a beginner and am using python 3.3

推荐答案

不确定是否是您要找的,但您可以在主 Tk 中创建两个框架.

Not sure if it is what you are looking for, but you can create two Frames inside your main Tk.

import tkinter as tk

class SubWindow(tk.Frame):
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
        x = tk.Text(self)
        x.pack()

class MainWindow(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self)
        self.win1 = SubWindow(self)
        self.win1.pack(side="left")
        self.win2 = SubWindow(self)
        self.win2.pack(side="right")

if __name__ == "__main__":
    main = MainWindow()
    main.mainloop()

这是在窗口执行时使 Frames 调整大小的代码:

Here is the code to make Frames resize when window does:

import tkinter as tk

class SubWindow(tk.Frame):
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
        x = tk.Text(self)
        x.pack(expand=1, fill='both')

class MainWindow(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self)
        self.win1 = SubWindow(self)
        self.win1.pack(side="left", expand=1, fill=tk.BOTH)
        self.win2 = SubWindow(self)
    self.win2.pack(side="right", expand=1, fill=tk.BOTH)

if __name__ == "__main__":
    main = MainWindow()
    main.mainloop()

这篇关于您可以组合两个 tkinter tk 小部件吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆