Python - Tkinter Моя запись не отображается

Привет, у меня проблемы с моим кодом, моя запись не отображается, в моем коде есть ошибка, но я не вижу где. Если кто-то может отобразить большую рамку вверху и запись внизу, просто скажите мне, как :)

from tkinter import *

root = Tk()
root['bg']='white'
root.title('Next Note')

root.minsize(800, 500)
root.maxsize(800,500)


frame = Frame(root, bg='light blue', height=300, width = 780 )
frame.grid(row=1, column=1, padx=10, pady=30)
frame.grid_propagate(0)

text = StringVar()
text_entry = Entry(root, textvariable=text, bg='white', border=1, width = 100)
text_entry.grid(row=2, column=2, padx=50, pady=750,)
text_entry.grid_propagate(0)



root.mainloop()
pady=750 помещает его под экран, чтобы вы его не видели.
MegaIng 29.04.2018 19:20

нет даже с 200 я не вижу этого

Shuiza 29.04.2018 19:27

Тогда попробуйте 0. Это работает для меня

MegaIng 29.04.2018 19:29

нет все еще ничего

Shuiza 29.04.2018 19:32

Этот фрейм очень широкий, поэтому столбец 1 очень широкий, что выталкивает столбец 2 (где находится Entry) с правой стороны окна. Так что либо уменьшите ширину кадра, либо поместите запись в столбец 1.

PM 2Ring 29.04.2018 19:34

но моя запись расположена по центру, и я хочу, чтобы она была немного ниже, как я могу это сделать?

Shuiza 29.04.2018 19:38

Попробуйте pady=60 или аналогичный. IIRC, число для pady - нет, измеренное в пикселях, это в строках (то есть строках текста), потому что это текстовый виджет, а высота строки зависит от шрифта, который вы используете.

PM 2Ring 29.04.2018 19:42

Я не могу извините, у меня нет репутации: /

Shuiza 29.04.2018 19:45

спасибо, но почему padx и pady бесполезны?

Shuiza 29.04.2018 19:55

Они не совсем бесполезны, просто они ведут себя не так, как вы ожидаете. ;) Это самое "забавное" в программировании GUI, вам нужно немного поэкспериментировать, чтобы заставить его делать то, что вы хотите. Также полезно быть хорошо знакомым с документами, но легко неправильно истолковать материал в документах, поэтому, когда вы читаете материал, проведите небольшой эксперимент, чтобы убедиться, что он делает то, что вы думаете.

PM 2Ring 29.04.2018 20:03

Поначалу это может немного сбивать с толку, но если вы приложите усилия, в конечном итоге все сойдется. Я использую Tkinter всего несколько лет, но у меня был достаточный опыт работы с несколькими другими фреймворками графического интерфейса, так что мне было несложно подобрать Tkinter. Однако здесь есть люди, которые использовали его целую вечность, а некоторые (например, Брайан Окли) использовали Tcl / Tk (движок под Tkinter) за годы до этого, вероятно, задолго до того, как вы родились. Так что, когда вы застрянете, если вы придете сюда и напишете хороший вопрос, вы, вероятно, получите хорошую помощь.

PM 2Ring 29.04.2018 20:10
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
11
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я поместил запись в столбец 1, уменьшил ее pady, так что теперь она видна. Я сделал его зеленым, чтобы его было легче увидеть. Я также избавился от злого импорта подстановочных знаков from tkinter import *.

import tkinter as tk

root = tk.Tk()
root['bg']='white'
root.title('Next Note')

root.minsize(800, 500)
root.maxsize(800,500)

frame = tk.Frame(root, bg='light blue', height=300, width=780 )
frame.grid(row=1, column=1, padx=10, pady=30)
frame.grid_propagate(0)

text = tk.StringVar()
text_entry = tk.Entry(root, textvariable=text, bg='green', border=1, width = 50)
text_entry.grid(row=2, column=1, padx=50, pady=50)
text_entry.grid_propagate(0)

root.mainloop()

Другие вопросы по теме