鱼C论坛

 找回密码
 立即注册
查看: 1791|回复: 4

[已解决]这个程序怎么实现不了。

[复制链接]
发表于 2023-3-20 10:08:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

from tkinter import *
from tkinter import messagebox
class Application(Frame):
    """"一个经典的GUI程序类的写法"""
    def __int__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()
    def createWidget(self):
        """"创建组件"""
        self.btn01=Button(self)
        self.btn01["text"]="点击送花"
        self.btn01.pack()
        self.btn01["commmand"] = self.songhua
        #创建一个退出按钮
        self.btnQuit=Button(self, text="退出", command=root.destroy)
        self.btnQuit.pack()
    def songhua(self):
        messagebox("送花","送你999朵玫瑰花")
if __name__ == '__main__':
    root=Tk()
    root.geometry("400x130+200+300")
    root.title="一个经典GUI程序的测试"
    app=Application(master=root)
    root.mainloop()
最佳答案
2023-3-20 10:16:02
程序中有三个错误:

1、构造函数名错误:将 def __int__(self,master=None): 改为 def __init__(self, master=None):。(init 少了一个 i)

2、self.btn01["commmand"] 拼写错误,应该是 self.btn01["command"]。 (command多了一个m)

3、songhua函数中的messagebox("送花","送你999朵玫瑰花")错了,messagebox是一个模块,不可调用,应该是 messagebox.showinfo("送花", "送你999朵玫瑰花") 才对

修复后的代码如下:
from tkinter import *
from tkinter import messagebox

class Application(Frame):
    """一个经典的GUI程序类的写法"""
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建组件"""
        self.btn01 = Button(self)
        self.btn01["text"] = "点击送花"
        self.btn01.pack()
        self.btn01["command"] = self.songhua

        # 创建一个退出按钮
        self.btnQuit = Button(self, text="退出", command=root.destroy)
        self.btnQuit.pack()

    def songhua(self):
        messagebox.showinfo("送花", "送你999朵玫瑰花")

if __name__ == '__main__':
    root = Tk()
    root.geometry("400x130+200+300")
    root.title("一个经典GUI程序的测试")
    app = Application(master=root)
    root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-20 10:16:02 | 显示全部楼层    本楼为最佳答案   
程序中有三个错误:

1、构造函数名错误:将 def __int__(self,master=None): 改为 def __init__(self, master=None):。(init 少了一个 i)

2、self.btn01["commmand"] 拼写错误,应该是 self.btn01["command"]。 (command多了一个m)

3、songhua函数中的messagebox("送花","送你999朵玫瑰花")错了,messagebox是一个模块,不可调用,应该是 messagebox.showinfo("送花", "送你999朵玫瑰花") 才对

修复后的代码如下:
from tkinter import *
from tkinter import messagebox

class Application(Frame):
    """一个经典的GUI程序类的写法"""
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建组件"""
        self.btn01 = Button(self)
        self.btn01["text"] = "点击送花"
        self.btn01.pack()
        self.btn01["command"] = self.songhua

        # 创建一个退出按钮
        self.btnQuit = Button(self, text="退出", command=root.destroy)
        self.btnQuit.pack()

    def songhua(self):
        messagebox.showinfo("送花", "送你999朵玫瑰花")

if __name__ == '__main__':
    root = Tk()
    root.geometry("400x130+200+300")
    root.title("一个经典GUI程序的测试")
    app = Application(master=root)
    root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-20 10:57:28 | 显示全部楼层
非常感谢,刚开始学习。承蒙指出错误之处。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-21 10:09:10 | 显示全部楼层
xibu001 发表于 2023-3-20 10:57
非常感谢,刚开始学习。承蒙指出错误之处。

如果感谢的话给二楼设置最佳答案并且结贴吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-21 13:41:12 | 显示全部楼层
给二楼设置了最佳答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 01:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表