青亭浅 2024-05-20 16:00 采纳率: 88.2%
浏览 1
已结题

(关键词-class)


from tkinter import *
from tkinter import ttk


# class studentClass():
#     def __init__(self, master):
#         self.name=StringVar()
#         self.master=master
#         self.createStudent()
#
#
#     def createStudent(self):
#         bai=Label(self.master)
#         bai.grid(row=0)
#         self.name=Entry(self.master,textvariable=self.name)
#         self.name.grid(row=1,column=0)
#
#         Button(self.master,text="查询").grid(row=1,column=1,padx=10)
#
#         Button(self.master,text="新增").grid(row=1,column=2,padx=10)
#
#         Button(self.master,text="导入").grid(row=1,column=3,padx=10)
#
#         Button(self.master,text="导出").grid(row=1,column=4,padx=10)
#
#
#         columns = ("name", "chinese", "math", "english")
#
#         self.tree_view =ttk.Treeview(self.master, show='headings', columns=columns)
#         self.tree_view.column("name", width=80, anchor='center')
#         self.tree_view.column("chinese", width=80, anchor='center')
#         self.tree_view.column("math", width=80, anchor='center')
#         self.tree_view.column("english", width=80, anchor='center')
#         self.tree_view.heading('name', text="姓名")
#         self.tree_view.heading('chinese', text="语文")
#         self.tree_view.heading('math', text="数学")
#         self.tree_view.heading('english', text="英语")
#         self.tree_view.grid()
class studentClass():
    def __init__(self, master):
        self.name = StringVar()
        self.master = master
        self.createStudent()


    def createStudent(self):
        # 设置主窗口背景颜色
        self.master.configure(bg="#96CDCD")

        # 创建一个大的容器,用于放置所有控件
        container = Frame(self.master, bg="#96CDCD")
        container.pack(pady=10, padx=10, fill=BOTH, expand=True)

        # 创建标签和输入框区域
        label_frame = Frame(container, bg="#96CDCD")
        label_frame.pack(side=TOP, pady=(10, 5))

        name_label = Label(label_frame, text="姓名:", bg="#96CDCD", fg="white")
        name_label.pack(side=LEFT, padx=5)

        self.name_entry = Entry(label_frame, textvariable=self.name, width=20)
        self.name_entry.pack(side=LEFT, padx=5)

        # 创建按钮区域
        button_frame = Frame(container, bg="#96CDCD")
        button_frame.pack(side=BOTTOM, pady=(5, 10))

        query_button = Button(button_frame, text="查询", bg="#96CDCD", fg="white", command=self.query)
        query_button.pack(side=LEFT, padx=10)

        add_button = Button(button_frame, text="新增", bg="#96CDCD", fg="white", command=self.add)
        add_button.pack(side=LEFT, padx=10)

        import_button = Button(button_frame, text="导入", bg="#96CDCD", fg="white", command=self.import_data)
        import_button.pack(side=LEFT, padx=10)

        export_button = Button(button_frame, text="导出", bg="#96CDCD", fg="white", command=self.export_data)
        export_button.pack(side=LEFT, padx=10)

        # 创建表格区域
        table_frame = Frame(container, bg="#96CDCD")
        table_frame.pack(side=TOP, fill=X, expand=True)

        columns = ("name", "chinese", "math", "english")

        self.tree_view = ttk.Treeview(table_frame, show='headings', columns=columns, style="Treeview")
        self.tree_view.tag_configure("oddrow", background="#EAEAEA")
        self.tree_view.tag_configure("evenrow", background="#FFFFFF")

        self.tree_view.column("name", width=80, anchor='center')
        self.tree_view.column("chinese", width=80, anchor='center')
        self.tree_view.column("math", width=80, anchor='center')
        self.tree_view.column("english", width=80, anchor='center')

        self.tree_view.heading('name', text="姓名")
        self.tree_view.heading('chinese', text="语文")
        self.tree_view.heading('math', text="数学")
        self.tree_view.heading('english', text="英语")

        self.tree_view.pack(pady=10, fill=BOTH, expand=True)

        # 树形视图滚动条设置
        vsb = Scrollbar(table_frame, orient="vertical", command=self.tree_view.yview)
        vsb.pack(side=RIGHT, fill=Y)
        hsb = Scrollbar(table_frame, orient="horizontal", command=self.tree_view.xview)
        hsb.pack(side=BOTTOM, fill=X)
        self.tree_view.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)



    def query(self):
        pass

    def add(self):
        pass

    def import_data(self):
        pass

    def export_data(self):
        pass


class adminClass():
    def __init__(self, master):
        self.master = master
        Button(master, text="这是招聘管理界面", font=("微软雅黑", 14), fg="white", bg="#96CDCD").pack()


class scoreClass():
    def __init__(self, master):
        self.master = master
        Label(master, text="这是打分管理界面").pack()


class journalClass():
    def __init__(self, master):
        self.master = master
        self.createjournal()

    def createjournal(self):
        title_label = Label(self.master, text="这是日志管理系统", font=("Arial", 16))
        title_label.pack(pady=10)

        # 创建按钮框架
        button_frame = Frame(self.master)
        button_frame.pack()

        # 创建输入框和按钮
        input_entry = Entry(button_frame, width=20)
        input_entry.pack(side="left", padx=5)

        # 创建下拉框
        options = ["hjy", "hh", "sb"]
        selected_option = StringVar()
        selected_option.set(options[0])
        edit_combobox = ttk.Combobox(button_frame, textvariable=selected_option, values=options, width=10)
        edit_combobox.pack(side="left", padx=5)

        query_button = Button(button_frame, text="查询", width=10)
        query_button.pack(side="left", padx=5)
        new_button = Button(button_frame, text="新增", width=10)
        new_button.pack(side="left", padx=5)

        # 创建 Treeview
        tree = ttk.Treeview(self.master, columns=("column1", "column2", "column3", "column4"), show='headings')
        tree.heading("#1", text="姓名")
        tree.heading("#2", text="日期")
        tree.heading("#3", text="任务进度")
        tree.heading("#4", text="备注")
        tree.pack(pady=10)

        # 插入示例数据

        # 创建空行
        empty_row = Label(self.master, text="")
        empty_row.pack()


class discussClass():
    def __init__(self, master):
        self.master = master
        Label(master, text="这是讨论区管理界面").pack()


root = Tk()

root.geometry("700x500")

frame = Frame(root, width=100, height=500, highlightbackground="#668B8B", highlightthickness=3)
frame.config(background="#96CDCD")
frame.pack(fill=Y, side=LEFT)

bai = Label(frame)

student = Label(frame, text="学生系统", font=("微软雅黑", 14), fg="white", bg="#96CDCD")
student.place(x=5, y=30)

admin = Label(frame, text="招聘系统", font=("微软雅黑", 14), fg="white", bg="#96CDCD")
admin.place(x=5, y=120)

score = Label(frame, text="打分管理", font=("微软雅黑", 14), fg="white", bg="#96CDCD")
score.place(x=5, y=210)

journal = Label(frame, text="日志管理", font=("微软雅黑", 14), fg="white", bg="#96CDCD")
journal.place(x=5, y=300)

discuss = Label(frame, text="讨论区", font=("微软雅黑", 14), fg="white", bg="#96CDCD")
discuss.place(x=5, y=390)

stuFrame = Frame(root)
admFrame = Frame(root)
scoFrame = Frame(root)
jouFrame = Frame(root)
disFrame = Frame(root)

studentClass(stuFrame)
adminClass(admFrame)
scoreClass(scoFrame)
journalClass(jouFrame)
discussClass(disFrame)

def stuFuntion(event=None):

    stuFrame.pack()
    admFrame.pack_forget()
    scoFrame.pack_forget()
    jouFrame.pack_forget()
    disFrame.pack_forget()


def admFuntion(event=None):

    admFrame.pack()
    stuFrame.pack_forget()
    scoFrame.pack_forget()
    jouFrame.pack_forget()
    disFrame.pack_forget()


def scoFuntion(event=None):

    scoFrame.pack()
    stuFrame.pack_forget()
    jouFrame.pack_forget()
    disFrame.pack_forget()
    admFrame.pack_forget()


def jouFuntion(event=None):

    jouFrame.pack()
    stuFrame.pack_forget()
    disFrame.pack_forget()
    admFrame.pack_forget()
    scoFrame.pack_forget()


def disFuntion(event=None):

    disFrame.pack()
    stuFrame.pack_forget()
    disFrame.pack_forget()
    admFrame.pack_forget()
    scoFrame.pack_forget()


student.bind("<Button-1>", stuFuntion)
admin.bind("<Button-1>", admFuntion)
score.bind("<Button-1>", scoFuntion)
journal.bind("<Button-1>", jouFuntion)
discuss.bind("<Button-1>", disFuntion)

root.title("学生管理系统")

root.mainloop()

让journalclass中的界面更美化一些

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-05-20 16:00
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    【您想要解决的问题】:您提问的目的是希望改进journalClass类中的界面,使其更加美观。

    【问题出现原因】:journalClass类中的界面可能看起来比较基础或简单,没有应用一些美化或增强用户界面体验的技巧。

    【问题解决方案】:为了使journalClass中的界面更加美观,我们可以通过添加一些图形用户界面(GUI)美化技巧,比如使用不同的颜色、字体样式、布局调整和添加一些装饰性元素等。

    【提供代码】:以下是对journalClass类中界面美化的一些建议和代码示例:

    class journalClass():
        def __init__(self, master):
            self.master = master
            self.createjournal()
    
        def createjournal(self):
            # 设置主窗口背景颜色
            self.master.configure(bg="#F0F0F0")
    
            # 创建标题标签
            title_label = Label(self.master, text="这是日志管理系统", font=("Arial", 20, "bold"), fg="#333333", bg="#F0F0F0")
            title_label.pack(pady=20)
    
            # 创建输入框和按钮的容器
            input_frame = Frame(self.master, bg="#F0F0F0")
            input_frame.pack(pady=10, fill=X)
    
            # 创建输入框
            input_entry = Entry(input_frame, width=50, font=("Arial", 12), bg="#FFFFFF", fg="#333333")
            input_entry.pack(side="left", padx=5, fill=X, expand=True)
    
            # 创建下拉框
            options = ["hjy", "hh", "sb"]
            selected_option = StringVar()
            selected_option.set(options[0])
            edit_combobox = ttk.Combobox(input_frame, textvariable=selected_option, values=options, width=20, font=("Arial", 12), state="readonly")
            edit_combobox.pack(side="left", padx=5)
    
            # 创建查询和新增按钮
            query_button = Button(input_frame, text="查询", width=10, font=("Arial", 12), bg="#007BFF", fg="#FFFFFF")
            query_button.pack(side="left", padx=5)
            new_button = Button(input_frame, text="新增", width=10, font=("Arial", 12), bg="#28A745", fg="#FFFFFF")
            new_button.pack(side="left", padx=5)
    
            # 创建表格区域的容器
            table_frame = Frame(self.master, bg="#F0F0F0")
            table_frame.pack(fill=BOTH, expand=True)
    
            # 创建 Treeview
            tree = ttk.Treeview(table_frame, columns=("column1", "column2", "column3", "column4"), show='headings', style="Treeview.Heading")
            tree.tag_configure("oddrow", background="#F9F9F9")
            tree.tag_configure("evenrow", background="#FFFFFF")
    
            tree.heading("column1", text="姓名", font=("Arial", 12), anchor='center')
            tree.heading("column2", text="日期", font=("Arial", 12), anchor='center')
            tree.heading("column3", text="任务进度", font=("Arial", 12), anchor='center')
            tree.heading("column4", text="备注", font=("Arial", 12), anchor='center')
    
            tree.column("column1", width=120, anchor='center')
            tree.column("column2", width=120, anchor='center')
            tree.column("column3", width=200, anchor='center')
            tree.column("column4", width=200, anchor='center')
    
            tree.pack(pady=10, fill=BOTH, expand=True)
    
            # 树形视图滚动条设置
            vsb = Scrollbar(table_frame, orient="vertical", command=tree.yview)
            vsb.pack(side=RIGHT, fill=Y)
            hsb = Scrollbar(table_frame, orient="horizontal", command=tree.xview)
            hsb.pack(side=BOTTOM, fill=X)
            tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)
    

    【代码运行方式】:这段代码是Python脚本的一部分,需要在具有Tkinter库的环境中运行。确保您的Python环境已经安装了Tkinter库。

    【代码预期运行结果】:

    • 界面背景颜色变为浅灰色(#F0F0F0)。
    • 标题标签字体加粗,颜色加深,背景色为浅灰色。
    • 输入框和下拉框背景色为白色,字体颜色为深灰色,并且输入框宽度增加。
    • 查询和新增按钮背景色分别为蓝色和绿色,字体颜色为白色。
    • Treeview表格的行交替显示浅灰和白色背景,列标题居中显示。

    【推荐相关链接】:

    1. Tkinter官方文档
    2. Ttk模块官方文档
    3. Tkinter布局管理器教程
    4. Tkinter颜色代码参考
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 5月20日

悬赏问题

  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)