python - 如何使用python gui将带有按钮的函数链接到输入框?
问题描述
请点击这里查看图片。我想将我的 python 函数与输入框链接起来。假设我将一个函数添加到 gui 中的按钮。如果我单击按钮,则函数输出应显示在 python 输入框上。但我在 python shell 中获取输出。请帮助我解决这个问题。您的代码image1
输出的
@Jundullah输出正在替换为新输入,我需要在旁边打印。图2
****这里是代码****
from tkinter import *
root = Tk()
text_input = StringVar()
operator = ""
txtDisplay= Entry(font=('arial',70,'bold italic'),textvariable=text_input ,
bd=30,insertwidth=4,bg="#b0e0e6", justify = "center")
root.title("Alphabet Pattern")
txtDisplay.grid(columnspan=10)
def A():
"""This function will print alphabet A"""
for i in range(7):
for j in range(7):
if ((j==0 or j==6)) and i!=0 or ((i==0 or i==3) and (j>0 and
j<6)):
print("*",end="")
else:
print(end=" ")
print()
print()
def C():
"""This function will print alphabet C"""
for row in range(7):
for col in range(7):
if (col==0 and (row!=0 and row!=6) or ((row==0 or row==6) and
(col>0))):
print("*",end="");
else:
print(end=" ")
print()
print()
#first button
A1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold
italic'),text="A",bg="#b0e0e6e",command= A ).grid(row=3, column=0)
#second button
C1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold
italic'),text="C",bg="#b0e0e6",command= C).grid(row=4, column=2)
root.mainloop()
请给我任何解决上述代码的建议。
解决方案
使用它而不是打印功能:
用这个:
var = Label(padx=32,pady=32,fg="#000000",font=('arial',30,'bold
italic'),text="something",bg="#b0e0e6").grid(row=4, column=2)
它有效,但需要整洁!:)
你应该试试看:
from tkinter import *
root = Tk()
text_input = StringVar()
operator = ""
txtDisplay= Entry(font=('arial',70,'bold italic'),textvariable=text_input ,
bd=30,insertwidth=4,bg="#b0e0e6", justify = "center")
root.title("Alphabet Pattern")
txtDisplay.grid(columnspan=10)
c = ""
a = ""
def A():
global a
a = ""
"""This function will print alphabet A"""
for i in range(7):
for j in range(7):
if ((j==0 or j==6)) and i!=0 or ((i==0 or i==3) and (j>0 and j<6)):
a += "*"
else:
a += " "
a += "\n"
var["text"] = a
def C():
global c
c = ""
"""This function will print alphabet C"""
for row in range(7):
for col in range(7):
if (col==0 and (row!=0 and row!=6) or ((row==0 or row==6) and
(col>0))):
c += "*"
else:
c += " "
c += "\n"
var["text"] = c
var = Label(root)
var.config(text="Allah",bd=0,fg="orange",width=0,height=0,bg="#000000",font=
("courier new",40))
var.place(relx=1,x=-500, y=250, anchor=W)
#first button
A1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold
italic'),text="A",bg="#0f0f0f",command= A ).grid(row=3, column=0)
#second button
C1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold
italic'),text="C",bg="#0f0f0f",command= C).grid(row=4, column=2)
root.mainloop()
推荐阅读
- ipad - 为什么我的 JOOMLART UBER 导航菜单在 iPad 上以横向模式显示不正确?
- c - 如何在C中遍历和复制双指针
- python - Python将文本数据从dat文件转换为int
- android - 在根项目“VotePlus”中找不到任务“installRelease”。一些候选人是:'uninstallRelease'
- microservices - 如何获得对不同微服务的负载均衡访问(使用功能区、Springboot)
- kibana-5 - Kibana 可视化未显示正确的值精度
- c++ - std::find_last_of 实际如何工作?
- java - Couchbase UPDATE 没有更新所有匹配过滤器的文档?
- python - 如何在 python 中使用 gino 管理迁移
- mysql - 如何禁止接受已经接受的汽车的报价 Laravel