Tkinter дисплей выходит за пределы экрана - PullRequest
0 голосов
/ 10 ноября 2018

При создании графического интерфейса пользователя с Tkinter с использованием большого количества изображений окно становится больше экрана. Как мне остановить это?при запуске кода окно tkinter отображается следующим образом:

снимок экрана с отображаемым окном tkinter

    import time
from tkinter import *
class App:
    def __init__(self,master):
#setting frames
        self.master=master
        speeddisp=Frame(master)
        speeddisp.grid(row=1, column=2)
        clockdisp=Frame(master)
        clockdisp.grid(row=0,column=0)
        indicatorhazard=Frame(master)
        indicatorhazard.grid(row=0, column=2)
        datedisp=Frame(master)
        datedisp.grid(row=0, column=3)
        lightdisp=Frame(master)
        lightdisp.grid(row=1,column=0)
        fandisp=Frame(master)
        fandisp.grid(row=1,column=0)
        tempdisp=Frame(master)
        tempdisp.grid(row=3,column=2)
#setting photos in Photoimage class from TK
        self.left_indicator_on_img=PhotoImage(file="left on.gif")
        self.left_indicator_off_img=PhotoImage(file="left off.gif")
        self.right_indicator_on_img=PhotoImage(file="right on.gif")
        self.right_indicator_off_img=PhotoImage(file="right off.gif")
        self.hazard_off_img=PhotoImage(file="hazard off.gif")
        self.hazard_on_img=PhotoImage(file="hazard on.gif")
        self.light_on_img=PhotoImage(file="light on.gif")
        self.light_off_img=PhotoImage(file="light off.gif")
        self.fan_on_img=PhotoImage(file="fanimg on.gif")
        self.fan_off_img=PhotoImage(file="fanimg off.gif")
#defining and placing labels                        
        self.speedlbl=Label(speeddisp, text=('00.00MPH'), font=("Helvetica", 110))
        self.speedlbl.grid(row=0,column=0)
        self.clocklbl=Label(clockdisp, text=(time.gmtime()[3],":",time.gmtime()[4]))
        self.clocklbl.grid(row=0,column=0)
        self.leftindicator=Label(indicatorhazard,image=self.left_indicator_off_img)
        self.leftindicator.grid(row=0,column=0)
        self.rightindicator=Label(indicatorhazard,image=self.right_indicator_off_img)
        self.rightindicator.grid(row=0,column=1)
        self.hazardindicator=Label(indicatorhazard,image=self.hazard_off_img)
        self.hazardindicator.grid(row=0,column=2)
        self.datedisplay=Label(datedisp, text=(time.gmtime()[2],"/",time.gmtime()[1],"/",time.gmtime()[0]))
        self.datedisplay.grid(row=0,column=0)
        self.lights=Button(lightdisp, image=self.light_off_img)
        self.lights.grid(row=0,column=0)
        self.fanimg=Label(fandisp, image=self.fan_off_img)
        self.fanimg.grid(row=0, column=0)
        self.temptxt=Label(tempdisp,text='00.00c', font=("Helvetica", 50))
        self.temptxt.grid(row=0, column=0)

1 Ответ

0 голосов
/ 11 ноября 2018

Вы должны либо обрезать изображение с помощью фоторедактора, чтобы изображение было достаточно маленьким, чтобы поместиться в окне, либо запустить этот код на python, чтобы увеличить окно tkinter:

self.master.geometry("1000x1000")

внутри

__init__

и

"1000x1000"

- это x пикселей на y пикселей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...