import tkinter as tk from tkinter import messagebox from PIL import Image, ImageTk class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.master = master self.pack() # self.create_widgets() self.create_login() def create_widgets(self): self.canvas = tk.Canvas(self, width=200, height=200) self.canvas.pack() self.canvas.create_line(0, 0, 200, 200) # 登录按钮 def login1(self): print("login1") pass # 注册按钮 def sign_up(self): print("sign up") pass def get_image(self, filename, width, height): '''打开指定的图片文件,缩放到指定尺寸''' im = Image.open(filename).resize((width, height)) return ImageTk.PhotoImage(im) def create_login(self): self.login = tk.Button(master=self, text='Login', activebackground='black', activeforeground='white', command=self.login1, compound=tk.CENTER ) self.login.place(relx= 0.3, rely= 0.7, width=100, height=50) ''' sign_up = tk.Button(master=root, text='Sign up', activebackground='black', activeforeground='white', command=sign_up, compound=tk.CENTER ) sign_up.place(relx= 0.6, rely= 0.7, width=100, height=50) ''' if __name__ == '__main__': root = tk.Tk() root.title('菜单') root.geometry('800x600') root.resizable(False, False) root.iconbitmap(r'D:\Python大作业\开发\icon\favicon_1.ico') app = Application(master=root) app.mainloop()我这段代码为什么没有button显示
时间: 2024-02-14 16:35:41 浏览: 32
您的代码中有两个create_widgets()函数,而且在Application类的初始化函数__init__中,您注释了self.create_widgets(),改为调用了self.create_login()函数。因此,您在create_login()函数中创建了一个名为self.login的Button,但是没有调用该函数,所以没有Button显示。您需要在__init__函数中将self.create_login()的注释去掉,才能使Button显示。
相关问题
import tkinter as tk from tkinter import messagebox import pymysql from MainPage import MainPage from PIL import Image, ImageTk
这段代码是一个 Python 模块的导入语句,它导入了 Tkinter、tkinter.messagebox、pymysql、MainPage 和 PIL 库中的 Image 和 ImageTk 模块。Tkinter 是 Python 的标准 GUI 库,用于创建 GUI 程序。tkinter.messagebox 模块是一个消息框库,可用于创建各种类型的消息框。pymysql 是一个 Python 连接 MySQL 数据库的库。MainPage 是一个自定义模块,可能包含了一些特定的类或函数。PIL 是 Python Imaging Library,用于图像处理和操作。Image 和 ImageTk 模块是 PIL 库中的一部分,用于处理图像和将图像转换为 Tkinter 控件。
import pandas as pd import csv import matplotlib.pyplot as plt import tkinter as tk from PIL import Image, ImageTk from tkinter import filedialog from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from tkinter import Tk, Button, Text, filedialog, messagebox from sklearn.preprocessing import StandardScaler,LabelEncoder from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.tree import DecisionTreeRegressor from sklearn.ensemble import RandomForestRegressor解释每一句代码的含义
这段代码是导入Python中的一些常用数据处理和机器学习库,并且实现了一些具体的功能。
- `import pandas as pd`: 导入pandas库并使用pd作为别名,pandas是一个数据处理库,可以对表格数据进行读取、清洗、转换等操作。
- `import csv`: 导入csv库,csv是一种常用的表格数据格式,可以用于读取和写入csv文件。
- `import matplotlib.pyplot as plt`: 导入matplotlib库,并使用plt作为别名,matplotlib是一个绘图库,可以用于绘制各种图形、图表等。
- `import tkinter as tk`: 导入tkinter库,并使用tk作为别名,tkinter是Python的标准GUI库,可以用于创建各种用户界面。
- `from PIL import Image, ImageTk`: 导入PIL库中的Image和ImageTk模块,PIL是一个图像处理库,可以用于读取、处理和保存各种图像格式。
- `from tkinter import filedialog`: 从tkinter库中导入filedialog模块,filedialog是一个用于打开和保存文件对话框的模块。
- `from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg`: 从matplotlib库中导入FigureCanvasTkAgg模块,可以用于在Tkinter界面中绘制matplotlib图形。
- `from tkinter import Tk, Button, Text, filedialog, messagebox`: 从tkinter库中导入Tk、Button、Text、filedialog和messagebox等模块,用于创建各种界面控件和显示消息框。
- `from sklearn.preprocessing import StandardScaler,LabelEncoder`: 从sklearn库中导入StandardScaler和LabelEncoder模块,用于数据预处理,如特征缩放和标签编码等。
- `from sklearn.model_selection import train_test_split`: 从sklearn库中导入train_test_split模块,用于将数据集划分为训练集和测试集。
- `from sklearn.linear_model import LinearRegression`: 从sklearn库中导入LinearRegression模块,用于线性回归分析。
- `from sklearn.tree import DecisionTreeRegressor`: 从sklearn库中导入DecisionTreeRegressor模块,用于决策树回归分析。
- `from sklearn.ensemble import RandomForestRegressor`: 从sklearn库中导入RandomForestRegressor模块,用于随机森林回归分析。