如何在不增加按钮大小的情况下放大按钮文本

2024-10-03 23:23:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码:

import RPi.GPIO as GPIO
import time
from tkinter import *
import os

GPIO.setmode(GPIO.BCM)
GPIO.setup(17,GPIO.IN,pull_up_down=GPIO.PUD_UP) #Scrivi lettera/spazio
GPIO.setup(12,GPIO.IN, pull_up_down=GPIO.PUD_UP)#STICK: lettera -
GPIO.setup(5,GPIO.IN, pull_up_down=GPIO.PUD_UP) #STICK: lettera +
GPIO.setup(26,GPIO.IN, pull_up_down=GPIO.PUD_UP)#Cancella lettera
GPIO.setup(7,GPIO.IN, pull_up_down=GPIO.PUD_UP) #TTS
GPIO.setup(23,GPIO.IN, pull_up_down=GPIO.PUD_UP)#Spegnimento



x=0 #Variabile globale utile a determinare quale lettra mostrare
s="" #Stringa che serve a concatenare le lettere per  mostrare la parola


class mainGUI:
def __init__(self, parent):
    self.mioContenitore=Frame(parent)
    self.mioContenitore.pack()

    self.schermataSx=Button(self.mioContenitore)
    self.schermataSx["background"]="white"
    self.schermataSx.config(font=("helvetica",80))#vedere come ingrandire il testo senza utilizzare il button
    self.schermataSx.config(height=50, width=5)
    self.schermataSx.pack(side=LEFT)




    self.schermataDx=Label(self.mioContenitore,wraplength=450)
    self.schermataDx["background"]="white"
    self.schermataDx.config(font=("helvetica", 40)) #wraplength da rivedere
    self.schermataDx.config(height=50,width=30,anchor=W)
    self.schermataDx.pack(side=LEFT)



def cambioLett(self):
    global x
    global a
    if(GPIO.input(5)==0):
        time.sleep(1.0) # Ritardo cambio lettera da rivedere
        x+=1
    if(GPIO.input(12)==0):
        x-=1
    if(GPIO.input(7))==0: #TTS: Dice solo la prima parola
        os.system("pico2wave -l it-IT -w speak.wav "+s+" ")
        os.system("aplay speak.wav")

    if(GPIO.input(23))==0:
        os.system("sudo shutdown -h now")

    if x==0:
        self.schermataSx["text"]="A"
        time.sleep(0.25)
        if(GPIO.input(17)==0):
            time.sleep(0.25)
            cont=0
            while(GPIO.input(17))==0:
                cont=cont+1
                time.sleep(0.5)
            if cont>=5:
                self.scriviSpazio()
            else:
                self.scriviLett()

        if(GPIO.input(26))==0:
            self.cancellaLett()

。。。在

^{pr2}$

。。。在

def scriviSpazio(self):
    global x
    global s
    s+=" "


def cancellaLett(self):
    global s
    s=s[:-1]
    self.schermataDx["text"]=s


root=Tk()
root.attributes('-fullscreen',True)
GUI=mainGUI(root)
GUI.cambioLett()
root.mainloop()

(我用的是覆盆子皮)。在

我得到的结果是: image

有按钮(左)和标签(右)。我想保持按钮的大小,但增加文本大小来占据整个按钮。当我尝试的时候,按钮也变大了。我觉得有点像填充物


Tags: inselfinputgpioiftimesetuppull
1条回答
网友
1楼 · 发布于 2024-10-03 23:23:09

我不确定是否有可能与tkinter。我相信你最好的办法就是拍一张照片。在

from tkinter import *

Tk()

background_image = PhotoImage(file='yin_yang.png')
button = Button(
    image=background_image,
    height=480,
    background='green'
)
button.pack(side=LEFT)

label = Label(
    font=('helvetica', 60),
    text='Hello, RPi :)',
)
label.pack(side=LEFT)

mainloop()

这就是它的样子

enter image description here

最好每次都把你的代码去掉一次,也请尽量把你的代码去掉一次。在

相关问题 更多 >