#python #python-2.7 #tkinter
#python #python-2.7 #tkinter
Вопрос:
У меня есть следующий код:
import Tkinter as tk
import os
from PIL import Image, ImageTk
import Tkinter, Tkconstants, tkFileDialog
class Home(tk.Tk):
def __init__(self, *args,**kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.geometry('1200x800')
self.txt = tk.StringVar()
self.rowconfigure(0, weight=1)
self.columnconfigure(0, weight=1)
self.home_frame = tk.Frame(self)
self.home_frame.grid(row=0, column=0)
self.home_frame.rowconfigure(0, weight=1)
self.home_frame.columnconfigure(0, weight=1)
self.fileEntry = tk.Entry(self.home_frame, width=100, textvariable=self.txt).grid(row=0, column=0, sticky='sn')
self.btn = tk.Button(self.home_frame, text='choose directory', height=1, command=self.DirDialog).grid(row=0, column=1)
теперь для FileEntry добавление rowspan = 2 вообще не имеет эффекта, что не так?
Комментарии:
1. Поскольку у вас есть только одна строка, чего вы ожидаете достичь, если она будет занимать две строки? Вы пытаетесь сделать запись выше? Виджеты ввода могут содержать только одну строку текста. Я не понимаю, что, по вашему мнению, должно делать заполнение пустой строки.
2. @BryanOakley Я пытался управлять шириной каждого виджета способом, аналогичным Bootstrap CSS grid. возможно ли это?
Ответ №1:
Ваш виджет имеет только одну строку, поэтому охват двух строк будет выглядеть так же, как охват одной строки. Высота пустых строк равна нулю.
Комментарии:
1. @Brayan Oakley извините, я совершенно новичок в tkinter, не могли бы вы объяснить подробнее? Я не понял, и если вы можете любезно предложить решение
2. @mark решение заключается в добавлении другого виджета, и вы увидите, что фактически вы охватили две строки