Pythonの中でtkinter+MySQLは添削して調べることを実現します。


一、メインウィンドウの設定

# -*- coding: utf-8 -*-
import tkinter 
from tkinter import ttk
import pymysql
#           
import tkinter.messagebox
#      
root = tkinter.Tk()
root.title('    ')
#       
root.minsize(500,500)
 
tabControl = ttk.Notebook(root)
 
tab1 = ttk.Frame(tabControl)            # Create a tab 
tabControl.add(tab1, text='      ')      # Add the tab
 
tab2 = ttk.Frame(tabControl)            # Add a second tab
tabControl.add(tab2, text='      ')      # Make second tab visible
 
tab3 = ttk.Frame(tabControl)            # Add a third tab
tabControl.add(tab3, text='     ')      # Make second tab visible
 
tabControl.pack(expand=1, fill="both") 
二、定義関数
1.添削の関数を定義する

'''main3    '''
def select3(root, label,tree):
    sname = label.get()
    print('input: ',sname)
 # 1.              ,      Connection   Cursor  
    con = pymysql.connect(host='192.168.0.46', user='root', password='root', database='test', charset='utf8', use_unicode=True)
    cursor=con.cursor()
    print("select * from       where `    (  )` like '"+sname+"'")
    c = cursor.execute("select * from       where `    (  )` like '"+sname+"'")
 # 2.       list_re
    list_re=cursor.fetchall()
    print('result: ', list_re) 
    if len(list_re) <= 0:
       tkinter.messagebox.showinfo('  ',sname+'       !') 
    else:
       print('result_name: ', list_re[0][0])
 #          
 # 3. tree    
    for i in range(len(list_re)): 
        tree.insert('', i, text=i ,values=(list_re[i][0], list_re[i][2],list_re[i][4], list_re[i][14],\
                                           list_re[i][5], list_re[i][9],list_re[i][11], list_re[i][12],\
                                           list_re[i][13]))
        tree.grid(column=0,row=1,sticky='NSEW')
    con.close()   
    
 
def insert(root, label1,label2,label3,label4,label5,label6,label7,label8,label9):
    net_name = label1.get()
    area_name = label2.get()
    base_name = label3.get()
    belong_name = label4.get()
    base_local = label5.get()
    base_level = label6.get()
    base_num = label7.get()
    rural = label8.get()
    scene = label9.get()
    print('input: ',net_name)
   #               ,      Connection   Cursor  
    con = pymysql.connect(host='192.168.0.46', user='root', password='root', database='test', charset='utf8', use_unicode=True)
    cursor=con.cursor()
    
   # SQL                 
    sql = "INSERT INTO      (`    `,\
    `   `,`    `,`    `,`          `,\
    `    `,`    (  )`,`      `,`      `)\
    VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s')" % \
    (net_name,area_name,base_name,belong_name,base_local,base_level,base_num,rural,scene)
    print(sql)
    
    try:
      #   sql  
       cursor.execute(sql)
      #   sql  
       con.commit()
       tkinter.messagebox.showinfo('  ',net_name+'         !')
    except:
      #        
       con.rollback()
    
    con.close() 
    
 
def delete(root,label7):
    base_num = label7.get()
    print('input: ',base_num)
    #               ,      Connection   Cursor  
    con = pymysql.connect(host='192.168.0.46', user='root', password='root', database='test', charset='utf8', use_unicode=True)
    cursor=con.cursor()   
    # SQL                 
    sql = "DELETE FROM       WHERE `    (  )`='%s'" %(base_num)
    print(sql)
    
    try:
      #   sql  
       cursor.execute(sql)
      #   sql  
       con.commit()
       tkinter.messagebox.showinfo('  ',base_num+'         !')
    except:
      #        
       con.rollback()
    
    con.close() 
2.主調用関数の定義

def main3():
    monty3 = ttk.LabelFrame(tab3, text='     3')
    monty3.grid(column=0, row=0,sticky='W', padx=8, pady=4)
    monty3_1 = ttk.LabelFrame(tab3, text='     2')
    monty3_1.grid(column=0, row=1,sticky='W', padx=4, pady=4)
    
    #     
    tree=ttk.Treeview(monty3_1)#  
    tree["columns"]=("    ","   ","    ","    ","          ",\
        "    ","    (  )","      ","      ")
    tree.column("    ",width=50)   #   ,   
    tree.column("   ",width=50)
    tree.column("    ",width=50)
    tree.column("    ",width=50)   #   ,   
    tree.column("          ",width=50)
    tree.column("    ",width=50)
    tree.column("    (  )",width=50)   #   ,   
    tree.column("      ",width=50)
    tree.column("      ",width=50)
 
    tree.heading("    ",text="    ")  #    
    tree.heading("   ",text="   ")
    tree.heading("    ",text="    ")
    tree.heading("    ",text="    ")  #    
    tree.heading("          ",text="          ")
    tree.heading("    ",text="    ")
    tree.heading("    (  )",text="    (  )")  #    
    tree.heading("      ",text="      ")
    tree.heading("      ",text="      ")
    
    tree.grid(column=0,row=1,sticky='NSEW')
    
    input_name1 = ttk.Label(monty3, text = '    :').grid(column=0, row=0, sticky='W',pady=5)
    label1 = tkinter.StringVar()
    entry1 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label1).grid(column=1, row=0, sticky='W')
    
    input_name2 = ttk.Label(monty3, text = '   :').grid(column=3, row=0, sticky='W')
    label2 = tkinter.StringVar()
    entry2 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label2).grid(column=4, row=0, sticky='W')
                          
    input_name3 = ttk.Label(monty3, text = '    :').grid(column=0, row=1, sticky='W',pady=5)
    label3 = tkinter.StringVar()
    entry3 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label3).grid(column=1, row=1, sticky='W')
    
    input_name4 = ttk.Label(monty3, text = '    :').grid(column=3, row=1, sticky='W')
    label4 = tkinter.StringVar()
    entry4 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label4).grid(column=4, row=1, sticky='W')
    
                          
    input_name5 = ttk.Label(monty3, text = '          :').grid(column=0, row=2, sticky='W',pady=5)
    label5 = tkinter.StringVar()
    entry5 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label5).grid(column=1, row=2, sticky='W')
                          
    input_name6 = ttk.Label(monty3, text = '    :').grid(column=0, row=3, sticky='W',pady=5)
    label6 = tkinter.StringVar()
    entry6 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label6).grid(column=1, row=3, sticky='W')
 
    input_name7 = ttk.Label(monty3, text = '    (  ):').grid(column=0, row=4, sticky='W',pady=5)
    label7 = tkinter.StringVar()
    entry7 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label7).grid(column=1, row=4, sticky='W')
 
    input_name8 = ttk.Label(monty3, text = '      :').grid(column=0, row=5, sticky='W',pady=5)
    label8 = tkinter.StringVar()
    entry8 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label8).grid(column=1, row=5, sticky='W')
 
    input_name9 = ttk.Label(monty3, text = '      :').grid(column=0, row=6, sticky='W',pady=5)
    label9 = tkinter.StringVar()
    entry9 = tkinter.Entry(monty3,bg='#ffffff',width=20,textvariable=label9).grid(column=1, row=6, sticky='W')
 
    select_button = tkinter.Button(monty3,bg='white',text='  ',width=10,height=1,\
       command=lambda :select3(monty3, label7,tree)).grid(column=0, row=7, sticky='W',pady=5)
    
    insert_button = tkinter.Button(monty3,bg='white',text='  ',width=10,height=1,\
       command=lambda :insert(monty3,label1,label2,label3,label4,label5,label6,\
                              label7,label8,label9)).grid(column=1, row=7, sticky='W',padx=5,pady=5)
 
    delete_button = tkinter.Button(monty3,bg='white',text='  ',width=10,height=1,\
       command=lambda :delete(monty3, label7)).grid(column=2, row=7, sticky='W',pady=5)
効果は以下の通りです

ここで、Pythonのtkinter+MySQLについて、添削を実現した文章を紹介します。これに関連して、tkinter MySQLの添削内容は以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。