【问题标题】:python tkinter layout - Creating Two Text Widgets With Scrollbar in a Full-screen Window and a few other additional widgetspython tkinter layout - 在全屏窗口中创建两个带有滚动条的文本小部件和一些其他额外的小部件
【发布时间】:2020-03-19 14:11:56
【问题描述】:

我想创建一个全屏打开的程序,其中程序窗口的左侧是一个文本小部件,右侧有一个滚动条,它的宽度是屏幕宽度的 60%,右侧是side 也是一个带有滚动条的 Text 小部件,它的宽度是屏幕宽度的 40%,这是我迄今为止尝试做的没有成功的事情,正如您通过运行此代码所看到的那样(蓝色和绿色只是为了舒适):

import tkinter as tk
from tkinter.scrolledtext import *
master = tk.Tk()
w = master.winfo_screenwidth()
h = master.winfo_screenheight()
master.geometry("{}x{}".format(w,h))
main = ScrolledText(master, bg="blue", width=int(0.6*w), height=h)
sec = ScrolledText(master, bg="green", width=int(0.4*w), height=h)
main.frame.place(x=0, y=0)
sec.frame.place(x=int(0.6*w), y=0)

首先,如果您能帮助我正确实现这部分,那将非常有帮助,然后我想添加 3 个额外的小部件:

  1. 顶部有一个菜单栏。
  2. 窗口底部的文本小部件,具有整个屏幕的宽度,以及此文本小部件字体规范中一个文本行的高度(这将是一种状态栏)。
  3. 左侧文本小部件(主要)左侧的行号。有一篇关于如何创建它的帖子here,但我不知道如何添加它。

【问题讨论】:

  • 您似乎没有自行进行任何调查或尝试使用任何选项来place
  • @BryanOakley 我尝试了许多不同的位置、网格和包选项,但我只是不明白为什么总是有问题。如果您不想给我一个完整的解决方案,没关系,但也许您可以提出一些建议。
  • 如果你展示了你尝试过的东西会有所帮助。例如,place 允许您指定相对宽度和高度以及相对位置。你是说你已经尝试过这些但它们没有用?

标签: python python-3.x tkinter tkinter-layout


【解决方案1】:
  1. 菜单栏
# Menu bar
menubar = Menu(app)
app.config(menu=menubar)

menu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Menu", menu=menu)

menu.add_command(label="menu", command=command)

更多here

  1. 整个屏幕的宽度
    您可以使用.pack(side="bottom", fill="both")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 2015-01-10
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多