tkinter rowspan не имеет эффекта

#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 решение заключается в добавлении другого виджета, и вы увидите, что фактически вы охватили две строки