Python tkinter组合框基于输入选择的隐藏/显示框架(包装在框架内的标签和小部件) 从tkinter导入* 从tkinter导入ttk 导入sqlite3 导入操作系统 导入系统 导入日期时间 connection=sqlite3.connect(“employees.db”) cursor=connection.cursor() 类主(对象): 定义初始(自我,主): self.master=master # 主帧=帧(self.master) 主框架包() 顶部框架=框架(主框架,宽度=1250,高度=50,背景='#F8F8',padx=20,浮雕=凹陷,边界宽度=1) 顶部框架包装(侧面=顶部,填充=X) 右上下边框=边框(上下边框,宽度=100,高度=20,背景='#F8F8',浮雕=凹陷,边框宽度=0) 顶部\右侧\框架包装(侧面=右侧) 中心框架=框架(主框架,宽度=1350,高度=690,浮雕=山脊,背景='#e6e6ff',边界宽度=1) 中央框架组件(侧面=顶部) 左中框=框(中框,宽度=180,高度=690,浮雕=凹陷,背景='#e6e6ff',边框宽度=1) 左侧\中间\框架。包装(侧面=左侧,填充=两侧) 左\u中心\u帧。打包\u传播(0) 右中框=框(中框,宽度=1170,高度=690,浮雕=凹陷,背景='#e6e6ff',边框宽度=1) 右(中)(框)包() 右\u中心\u帧。打包\u传播(0) 底部框架=框架(主框架,宽度=1350,高度=10,浮雕=凹陷,背景='#8080ff',边框宽度=0) 底部包装(侧面=底部,填充=X) 交换类型框架=LabelFrame(左中心框架,宽度=250,高度=50,text=“交换类型”,bg='#e6e6ff',padx=5,pady=5) 交换类型框架组件(侧=顶部,填充=两侧,padx=5,pady=5) # label_main_title=label(顶部框架,text=“顾问花名册交换”,bg=”#f8f8',font=(“TIMES”,20),justify=CENTER) 标签\u main\u title.pack() label_current_day=label(右上角框架,text=timeDetails().current_date(),bg='#f8f8',font=(“Times New Roman”,10),anchor=NE) 标签\当前\日。包装(侧面=右侧) label_-bottom_-frame=label(bottom_-frame,text=“©沃达丰WFM | RTA”,font=(“泰晤士报新罗马”,10),justify=CENTER,fg='#ffffffff',bg='#808080ff') 标签\底部\框架包装(侧面=底部) 交换类型=[‘单向交换’、‘双向交换’、‘单向CL交换’、‘双向CL交换’] 交换类型组合框=ttk.combobox(交换类型组合框,值=交换类型,宽度=21) 交换类型组合框。当前(0) 交换类型组合框.grid(行=2,列=1,pady=5) 类单_顾问(对象): 定义初始(自我,主): self.master=master 单个顾问框架=LabelFrame(右顾问中心框架,宽度=1150,高度=200,text=“顾问详细信息”,bg='#e6e6ff',padx=5,pady=5) 单框架组件(侧=顶部,填充=Y,padx=5,pady=5) 类多个\u顾问(对象): 定义初始(自我,主): self.master=master 多个顾问框架=LabelFrame(右中心框架,宽度=1150,高度=200,text=“顾问详细信息”,bg='#e6e6ff',padx=5,pady=5) 多框架组件(侧面=顶部,填充=Y,padx=5,pady=5) 类timeDetails(): def当前_日期(自我): now=datetime.datetime.now() 立即返回。strftime(“%A,%B%d”) def main(): root=Tk() app=Main(根目录) root.title(“顾问花名册交换”) 根几何(“1350x750+350+200”) 根。可调整大小(宽度=假,高度=假) root.mainloop() 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': main()

Python tkinter组合框基于输入选择的隐藏/显示框架(包装在框架内的标签和小部件) 从tkinter导入* 从tkinter导入ttk 导入sqlite3 导入操作系统 导入系统 导入日期时间 connection=sqlite3.connect(“employees.db”) cursor=connection.cursor() 类主(对象): 定义初始(自我,主): self.master=master # 主帧=帧(self.master) 主框架包() 顶部框架=框架(主框架,宽度=1250,高度=50,背景='#F8F8',padx=20,浮雕=凹陷,边界宽度=1) 顶部框架包装(侧面=顶部,填充=X) 右上下边框=边框(上下边框,宽度=100,高度=20,背景='#F8F8',浮雕=凹陷,边框宽度=0) 顶部\右侧\框架包装(侧面=右侧) 中心框架=框架(主框架,宽度=1350,高度=690,浮雕=山脊,背景='#e6e6ff',边界宽度=1) 中央框架组件(侧面=顶部) 左中框=框(中框,宽度=180,高度=690,浮雕=凹陷,背景='#e6e6ff',边框宽度=1) 左侧\中间\框架。包装(侧面=左侧,填充=两侧) 左\u中心\u帧。打包\u传播(0) 右中框=框(中框,宽度=1170,高度=690,浮雕=凹陷,背景='#e6e6ff',边框宽度=1) 右(中)(框)包() 右\u中心\u帧。打包\u传播(0) 底部框架=框架(主框架,宽度=1350,高度=10,浮雕=凹陷,背景='#8080ff',边框宽度=0) 底部包装(侧面=底部,填充=X) 交换类型框架=LabelFrame(左中心框架,宽度=250,高度=50,text=“交换类型”,bg='#e6e6ff',padx=5,pady=5) 交换类型框架组件(侧=顶部,填充=两侧,padx=5,pady=5) # label_main_title=label(顶部框架,text=“顾问花名册交换”,bg=”#f8f8',font=(“TIMES”,20),justify=CENTER) 标签\u main\u title.pack() label_current_day=label(右上角框架,text=timeDetails().current_date(),bg='#f8f8',font=(“Times New Roman”,10),anchor=NE) 标签\当前\日。包装(侧面=右侧) label_-bottom_-frame=label(bottom_-frame,text=“©沃达丰WFM | RTA”,font=(“泰晤士报新罗马”,10),justify=CENTER,fg='#ffffffff',bg='#808080ff') 标签\底部\框架包装(侧面=底部) 交换类型=[‘单向交换’、‘双向交换’、‘单向CL交换’、‘双向CL交换’] 交换类型组合框=ttk.combobox(交换类型组合框,值=交换类型,宽度=21) 交换类型组合框。当前(0) 交换类型组合框.grid(行=2,列=1,pady=5) 类单_顾问(对象): 定义初始(自我,主): self.master=master 单个顾问框架=LabelFrame(右顾问中心框架,宽度=1150,高度=200,text=“顾问详细信息”,bg='#e6e6ff',padx=5,pady=5) 单框架组件(侧=顶部,填充=Y,padx=5,pady=5) 类多个\u顾问(对象): 定义初始(自我,主): self.master=master 多个顾问框架=LabelFrame(右中心框架,宽度=1150,高度=200,text=“顾问详细信息”,bg='#e6e6ff',padx=5,pady=5) 多框架组件(侧面=顶部,填充=Y,padx=5,pady=5) 类timeDetails(): def当前_日期(自我): now=datetime.datetime.now() 立即返回。strftime(“%A,%B%d”) def main(): root=Tk() app=Main(根目录) root.title(“顾问花名册交换”) 根几何(“1350x750+350+200”) 根。可调整大小(宽度=假,高度=假) root.mainloop() 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': main(),python,tkinter,Python,Tkinter,您好,我想隐藏/显示框架及其标签/小部件/框等,这取决于用户在组合框中的选择。当被选中时,应该出现我在课堂上提到过的正确的帧,以便它们可以进行单向交换或双向交换。 一种方式将有员工代码框和7个框(轮班和下班),而另一种方式将有2个员工代码框和7个x2的轮班和下班框。“我想隐藏/显示框架…”:什么阻止了你这么做…?我的代码不起作用,请举个例子:1。从组合框2获取所选值。。根据所选的值,启用正确的框架:“我的代码不起作用”:根据指导原则选择您的示例。我没有“employees.db”来运行它。Rea

您好,我想隐藏/显示框架及其标签/小部件/框等,这取决于用户在组合框中的选择。当被选中时,应该出现我在课堂上提到过的正确的帧,以便它们可以进行单向交换或双向交换。
一种方式将有员工代码框和7个框(轮班和下班),而另一种方式将有2个员工代码框和7个x2的轮班和下班框。

“我想隐藏/显示框架…”:什么阻止了你这么做…?我的代码不起作用,请举个例子:1。从组合框2获取所选值。。根据所选的值,启用正确的框架:“我的代码不起作用”:根据指导原则选择您的示例。我没有
“employees.db”
来运行它。Read up on employees.db是一个空白数据库,稍后将添加此数据库…请检查它是否仍将运行添加一些硬编码数据到示例中。依赖外部数据库的数据库不是很有用。
from tkinter import *
from tkinter import ttk
import sqlite3
import os
import sys
import datetime

connection = sqlite3.connect("employees.db")
cursor = connection.cursor()

class Main(object):
    def __init__(self, master):
        self.master = master

        #<-----Defining Frames----->
        main_frame = Frame(self.master)
        main_frame.pack()

        top_frame = Frame(main_frame, width = 1250, height = 50, bg = '#f8f8f8', padx = 20, relief = SUNKEN, borderwidth = 1)
        top_frame.pack(side = TOP, fill = X)

        top_right_frame = Frame(top_frame, width = 100, height = 20, bg = '#f8f8f8', relief = SUNKEN, borderwidth = 0)
        top_right_frame.pack(side = RIGHT)

        center_frame = Frame(main_frame, width = 1350, height = 690, relief = RIDGE, bg = '#e6e6ff', borderwidth = 1)
        center_frame.pack(side = TOP)

        left_center_frame = Frame(center_frame, width = 180, height = 690, relief = SUNKEN, bg = '#e6e6ff', borderwidth = 1)
        left_center_frame.pack(side = LEFT, fill = BOTH)
        left_center_frame.pack_propagate(0)

        right_center_frame = Frame(center_frame, width = 1170, height = 690, relief = SUNKEN, bg = '#e6e6ff', borderwidth = 1)
        right_center_frame.pack()
        right_center_frame.pack_propagate(0)

        bottom_frame = Frame(main_frame, width = 1350, height = 10, relief = SUNKEN, bg = '#8080ff', borderwidth = 0)
        bottom_frame.pack(side = BOTTOM, fill = X)

        swap_type_frame = LabelFrame(left_center_frame, width = 250, height = 50, text = "Swap Type", bg = '#e6e6ff', padx = 5, pady = 5)
        swap_type_frame.pack(side = TOP, fill = BOTH, padx = 5, pady = 5)

        #<-----Defining Labels----->
        label_main_title = Label(top_frame, text = "Advisor Roster Swap", bg = '#f8f8f8', font = ("TIMES",20), justify = CENTER)
        label_main_title.pack()

        label_current_day = Label(top_right_frame, text = timeDetails().current_date(), bg = '#f8f8f8', font = ("Times New Roman",10), anchor = NE)
        label_current_day.pack(side = RIGHT)

        label_bottom_frame = Label(bottom_frame, text = "© Vodafone WFM | RTA", font = ("Times New Roman",10), justify = CENTER, fg= '#ffffff', bg = '#8080ff' )
        label_bottom_frame.pack(side = BOTTOM)

        swap_type = ['One Way Swap', 'Two Way Swap', 'One Way CL Swap', 'Two Way CL Swap']
        swap_type_combobox = ttk.Combobox(swap_type_frame, value = swap_type, width = 21)
        swap_type_combobox.current(0)
        swap_type_combobox.grid(row = 2, column = 1, pady = 5)


class Single_Advisor(object):
    def __init__(self, master):
        self.master = master

        single_advisor_frame = LabelFrame(right_center_frame, width = 1150, height = 200, text = "Advisor Details", bg = '#e6e6ff', padx = 5, pady = 5)
        single_advisor_frame.pack(side=TOP, fill=Y, padx = 5, pady = 5)


class Multiple_Advisors(object):
    def __init__(self, master):
        self.master = master

        multiple_advisor_frame = LabelFrame(right_center_frame, width = 1150, height = 200, text = "Advisor Details", bg = '#e6e6ff', padx = 5, pady = 5)
        multiple_advisor_frame.pack(side=TOP, fill=Y, padx = 5, pady = 5)


class timeDetails():
    def current_date(self):
        now =  datetime.datetime.now()
        return now.strftime("%A, %B %d")


def main():
    root = Tk()
    app = Main(root)
    root.title("Advisor Roster Swap")
    root.geometry("1350x750+350+200")
    root.resizable(width = FALSE, height = FALSE)
    root.mainloop()


if __name__ == '__main__':
    main()