我想要的结果是有一个python窗口,其中两个按钮"显示信息""退出"彼此相邻,并让"显示信息"按钮在3个单独的行上显示我的姓名和地址,然后在"退出"时停止程序点击.我几乎就在那里 - 文字虽然在一条线上.
提前致谢.
# This program will demonstrate a button widget within a dialog box
# that shows my information.
# Call TK interface
import tkinter
# Call message box
import tkinter.messagebox
# Create class for GUI.
class MyGUI:
def __init__(self):
#Create the main window widget.
self.main_window = tkinter.Tk()
#Create button widget 1.
self.my_button = tkinter.Button(self.main_window, \
text='Show Info', \
command=self.show_info)
#Creat a quit button.
self.quit_button = tkinter.Button(self.main_window, \
text='Quit', \
command=self.main_window.destroy)
# Pack the buttons.
self.my_button.pack(side='left')
self.quit_button.pack(side='left')
#Enter the tkinter main loop.
tkinter.mainloop()
#The do_somethings will be defined.
def show_info(self):
tkinter.messagebox.showinfo('Text', \
'My Name'
'123 Any Rd'
'Town Fl, 12345')
my_gui = MyGUI()
Run Code Online (Sandbox Code Playgroud)
你已经定义了你的3行并没有按照你的想法划线的地方...... Python会将这些字符串粉碎在一起,好像根本就没有返回(这就是你所看到的).相反,试着把它放在那里:
def show_info(self):
lines = ['My Name', '123 Any Rd', 'Town Fl, 12345']
tkinter.messagebox.showinfo('Text', "\n".join(lines))
Run Code Online (Sandbox Code Playgroud)
小智 5
这看起来可能很简单,但对于这么少的几行,最优雅的解决方案是用换行符 ( \n) 结束每一行:
def show_info(self):
tkinter.messagebox.showinfo('Text',
'My Name\n'
'123 Any Rd\n'
'Town Fl, 12345\n')
Run Code Online (Sandbox Code Playgroud)
如果您有很多行(例如段落),则可以使用多行字符串:
def show_info(self):
tkinter.messagebox.showinfo('Text', '''\
My Name
123 Any Rd
Town Fl, 12345''')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5845 次 |
| 最近记录: |