【问题标题】:Tkinter: Widget not being applied to the top right hand corner of the screen(grid)Tkinter:小部件未应用于屏幕的右上角(网格)
【发布时间】:2021-09-26 01:27:07
【问题描述】:

我想为语音助手制作一个 GUI,为此,当我尝试使用网格选项时,当指定为第 2/3/4/5 列时,标签会在屏幕中心对齐。

import tkinter
from tkinter import Canvas, Frame, Image, Label, StringVar, Tk, font
from tkinter.constants import ANCHOR, BOTTOM, E, END, GROOVE, RAISED, RIDGE, RIGHT, SUNKEN, TOP, Y
from typing import Text
window = tkinter.Tk()
window.title("App name")
window.geometry("320x640")
f = Frame(window)
x = f.grid_size()
# Add image file
bg = tkinter.PhotoImage(file = "Greybg.png")
# Show image using label
label1 = tkinter.Label( window, image = bg)
label1.place(x = 0, y = 0)

userimg = tkinter.PhotoImage(file = 'user1.png')
userlabel = tkinter.Label(window, image = userimg, bg = '#3D4154')
userlabel.place(relx = 1.0, rely = 0.01, anchor = 'ne')


def clicked():
    print("Wow no error")


# Creating a photoimage object to use image
photo = tkinter.PhotoImage(file = "mic.png")
  

# here, image option is used to
# set image on button
micbtn = tkinter.Button(window, text = 'Click Me !', image = photo, bg = '#808588', border = 0, command = clicked).place(x = 142,y=580)


string_variable = tkinter.StringVar()
string_variable.set("User Text Here")
text = tkinter.Label(window, textvariable = string_variable, bg = "#80EAF7", wraplength= 250, pady = 1, padx = 1, fg = '#020402')
text.grid(row = 0, column=1, sticky=E,)


string_variable1 = tkinter.StringVar()
string_variable1.set("Assistant Reply here")
text1 = tkinter.Label(window, textvariable = string_variable1, wraplength= 250, pady = 1, padx = 1, fg = '#020402', font = ('Helvetica',8,'bold'))
text1.grid(row = 1, column=0)

window.resizable(0, 0)
window.mainloop()

在上面的代码中,图标像this 一样对齐,而我希望“此处的用户文本”位于屏幕的右上角,我该怎么做?

【问题讨论】:

  • 您可以使用 window.columnconfigure((0,1), weight=1) 使第 0 列和第 1 列使用所有水平可用空间。

标签: user-interface tkinter


【解决方案1】:

您可以使第 0 列和第 1 列使用所有水平可用空间

window.columnconfigure((0,1), weight=1)

感谢https://stackoverflow.com/users/5317403/acw1668

【讨论】:

  • 首先,您可以在 cmets 中提及用户。然后,您也可以将其设为社区 wiki (Source)。最后别忘了格式化代码,特别是作者的那个。
猜你喜欢
  • 2015-06-06
  • 1970-01-01
  • 2020-06-29
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2023-02-25
  • 2021-10-30
相关资源
最近更新 更多