LoginSignup
soccerna14
@soccerna14 (勉強メモ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

get関数について(Python)

Q&AClosed
import sys
import tkinter
from  tkinter import *
from datetime import date
from tkinter import messagebox
import sqlite3  #データベースをSQL実行

# データベースに接続する
conn = sqlite3.connect('gakken.db')
c = conn.cursor()
# テーブルの作成
c.execute('''CREATE TABLE IF NOT EXISTS users(name, title, date, staff, content)''')

# データベースへのアクセスが終わったら close する
conn.close()

def import_SQL():
    #入力値を取得する
    value1 = EditBox1.get() #お子様の名前
    value2 = EditBox2.get() #件名
    value3 = EditBox3.get() #日付
    value4 = EditBox4.get() #担当
  ★value5 = text1.get("1.0",END) #内容
    
    # データベースに接続する
    conn = sqlite3.connect('gakken.db')
    c = conn.cursor()

    # データの挿入
    data = [
    (value1,value2,value3,value4,value5),]
    try:
        c.executemany('INSERT INTO users VALUES(?, ?, ?, ?, ?)', data)
        # 挿入した結果を保存(コミット)する
        conn.commit()
        
        for i in data:
            messagebox.showinfo('登録完了', '{0}を入力しました。'.format(i))
        
        # データベースへのアクセスが終わったら close する
        conn.close()
    except:
        pass

root = tkinter.Tk()
root.title(u'Gakken PaltyFujiKinuyama')
root.minsize(100, 100)
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)



#ラベル
Static1 = tkinter.Label(text=u'お子様の名前')
Static1.pack()
#エントリー
EditBox1 = tkinter.Entry()
EditBox1.pack()
#ここで,valueにEntryの中身が入る
value1 = EditBox1.get()

#ラベル
Static2 = tkinter.Label(text=u'件名')
Static2.pack()
#エントリー
EditBox2 = tkinter.Entry()
EditBox2.pack()
#ここで,valueにEntryの中身が入る
value2 = EditBox2.get()

day = str(date.today())
#ラベル
Static3 = tkinter.Label(text=u'日付')
Static3.pack()
#エントリー
EditBox3 = tkinter.Entry()
EditBox3.insert(tkinter.END,day)
EditBox3.pack()
#ここで,valueにEntryの中身が入る
value3 = EditBox3.get()

#ラベル
Static4 = tkinter.Label(text=u'担当')
Static4.pack()
#エントリー
EditBox4 = tkinter.Entry()
EditBox4.insert(tkinter.END,'内田裕之')
EditBox4.pack()
#ここで,valueにEntryの中身が入る
value4 = EditBox4.get()

#ラベル
Static5 = tkinter.Label(text=u'内容')
Static5.pack()
text1=tkinter.Text(root,  height=15, width=70)
text1.pack()
★value5 = text1.get(END)

# ボタン
button1 = tkinter.Button(
    root, text='登録',
    command=import_SQL)
button1.pack()

root.mainloop()

入力した内容でデータベースに保存するデスクトップアプリらしいのですが,
★マークを付けた場所の意味が分かりません.

変数.get(END)
変数.get("1.0",END)

調べても分かりませんでした.
ご存じの方,ご教示いただけませんか??

0

1Answer

取得する文字列の位置ですかね?

2.4. Tk.Text のメソッド

.get(index1, index2=None)
index1 から index2 までの文字列を取得します。

1

Comments

  1. @soccerna14

    Questioner
    ありがとうございます!!

Your answer might help someone💌