環境
windows11
Python 3.9.6
はじめに
今回はtwitter apiとtkinterでツイート送信画面を作ります。twitter開発者登録のやり方やトークン類の取得の仕方は説明を省略しています。
コード
トークン関係をまとめるkeys.pyと画面関係をまとめるgui.pyに分けてコードを書きます。
keys.py
import tweepy
class Apikeys:
CK = '' # Consumer API key
CKS = '' # Consumer API Secret key
AT = '' # Access token
ATS = '' # Access token secret
auth = tweepy.OAuthHandler(CK, CKS)
auth.set_access_token(AT, ATS)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
トークン関係をclassにまとめて書いてあります。取得したトークン類をコピペしましょう。
次にgui.pyを書きます。
gui.py
import tweepy
import tkinter
from keys import Apikeys
api = Apikeys.api # twitter apiを使えるようにする
def send_sentence(sentence):
sentence = entry_1.get()
try:
api.update_status(sentence)
entry_1.delete(0,tkinter.END)
print("送信完了!")
except tweepy.TweepError as e:
print(e.reason) # exceptでエラーの原因を出力
root = tkinter.Tk() # インスタンスの生成
root.title('送信画面')
root.geometry('512x256')
canvas = tkinter.Canvas(root, bg="#000000", height=256, width=512)
canvas.place(x=0, y=0)
canvas.create_image(30, 30, anchor=tkinter.NW)
entry_1 = tkinter.Entry(root)
entry_1.insert(0,"文章をかいてね")
entry_1.place(x=10,y=10,width=500,height=50)
button_1 = tkinter.Button(root, text='送信!')
button_1.place(x=10,y=60,width=100,height=20)
button_1.bind("<ButtonPress>",send_sentence)
root.mainloop()
tkinterのメソッド
使っているメソッドの説明をして終わります。
root.title()
ウインドウのタイトルを決められます。
root.geometry()
ウインドウの横と縦のサイズを決められます。
tkinter.Canvas(root, bg="", height=, width=)
キャンバスの色や大きさを指定できます
tkinter.button()
ボタンのテキストや大きさを決められます。
tkinter.Entry()
送信したい文字列を入力できるボックスを作成できます。