Позиционирование положить текст из API - PullRequest
0 голосов
/ 06 октября 2019

проблема заключается в попытке получить текст из моего вывода в положение слева или как мне это нравится.

Я пытался использовать: sample.place(samplewindow, anchor = 'nw')

У меня также естьпопытался сделать это непосредственно из команды возврата "Im new to python"

Это код, который я использую для "распечатки" моего ответа с сайта.


def formate_response(weather):

    try:

        name = (weather['city']['name'])

        temp = (weather['list'][0]['main']['temp'])

        description = (weather['list'][1]['weather'][0]['description'])

        final_str = "City: " + str(name) + "\n Temperature: (°F)" + str(temp) + " \nSky: " + str(description)

        return final_str

    except:

           final_str = "Sorry, the city you have entered doesnt exist."

           return final_str

это такжекод, который я использую для метки

lable2 = Label(frame2, bg = 'white',)

lable2.place( relheight = 1, relwidth = 1, anchor = 'nw',)

Я знаю, что некоторые вещи написаны неправильно в моем коде, но это работает. Я ожидаю переместить строку в верхнем левом углу метки, но это не работает.

1 Ответ

0 голосов
/ 07 октября 2019

Я не уверен, что правильно понял ваш вопрос, так как ваш код не работает, но вот пример размещения текста в нужном месте.

from tkinter import  *

root = Tk()

# Fixed size frame to put the label widget in
frame2 = Frame(root, width=200, height=100)
frame2.pack(expand=True, fill='both', pady=10, padx=10)

# Putting text in upper left with anchor
lable2 = Label(frame2, text='Test text.', bg='white', anchor='nw')
lable2.place(relheight=1, relwidth=1)

root.mainloop()

Опция привязки доступна как для place() диспетчера геометрии, так и для виджета Label(), что может привести к путанице.

В общем, я бы рекомендовал не использовать диспетчер геометрии place(), по крайней мере, если я планирую иметь более нескольких виджетов. Менеджеры геометрии pack() и grid() лучше подходят для сложных макетов.

...