ryotankの備考録日記

趣味の電子工作についての備考録などなど

CustomTkinterでアプリ開発完了 第1号:アークナイツ素材集めTab2.0編

以前からPythonアプリ開発をしてみたくて 最初はPySimpleGUIで作ろうしたがなんやかんやで 日本語表示が出来ない事が判明し。。 約半年・・・customtkinterを使って 念願のアプリが出来た

最初は、ゲームの素材集めというざっくりとした内容で 挑戦してみた・・

コンセプト ・Tabで各素材のドロップ率表(第3位まで表記) ・ドロップ率表のみだと味気ないので、BOSSの遭遇と攻略付きを追加 ・育成メモやアイテム解放条件を追加 ・アプリには専用ウインドウアイコンを付与

今回の学びとしてウインドウアイコンの実装が難しかった感じ。 あとタブボタンのフォントサイズが返られないので見ずらい、探しづらい ウインドウアイコンを作るのがヘッタクソ!!

ウインドウアイコンの該当コードを載せる

from tkinter import ttk #treeviewのためにインポートする
import customtkinter as ctk

#作成日:2024-6-13
#6-13に各ローグライクの裏5bossへの行き方と攻略を記載
#素材ドロップ率表の右横に かなりのスペースがあるので何かしら入れたい 但し画像はNG 文言のみとする!

#ウインドウアイコンは1.0は砥石の未透過処理のだったので今回2.0は 半自然溶剤の画像を透過処理して32x32pxで作成
#透過処理はウインドウ付属のペイントで作る予定

#exeファイルアイコンもウィンドウアイコンと同様のものにする

ctk.set_appearance_mode("Dark")
ctk.set_default_color_theme("blue")

app = ctk.CTk()


~コードの一部中略~

class App2(ctk.CTk):  #App2クラス
    def __init__(self):
        super().__init__()

        
        self.sozai_tree = ttk.Treeview(app, columns=(1,2,3), show="headings") #TreeViewの生成
        self.sozai_tree.grid(row=0, column=0, padx=20)
        
        self.geometry("1500x300")
        self.title("アークナイツ素材集めGUI_Tab_ver2.0")
        self.grid_rowconfigure(0, weight=1)
        self.grid_columnconfigure(0, weight=1)
        self.tree_f = TreeFrame(master=self, width=1200, height=50, fg_color="silver", 
                                border_width=5, 
                                border_color="red")
        self.tree_f.grid(row=0, column=0, padx=40, pady=20, sticky="nsew")
        self.font_heading = ctk.CTkFont(size=14) #Tab_viewの見出しのフォントを指定する
        
        self.tab_view = SozaiTabView(master=self, width=500, height=400,
                                    segmented_button_fg_color="pink", text_color='yellow',
                                    segmented_button_selected_hover_color='orange') 
        #self.tab_view.configure(font=self.font_heading)
        self.tab_view.grid(row=0, column=0, padx=20, pady=30)

app=App2()


#ウィンドウアイコンの変更
app.iconbitmap("C:/users/******/desktop/作業物/pythonプログラム関連/Customtkinter関連/シリアル通信動作確認GUI/serial_gui_windowicon_to_ico.ico")

app.mainloop()

Tab2.0の最終的な画面(縮小版)

アークナイツ素材集めTab2.0のauto_py_to_exeの設定画面

攻略法は、黒に映える様にピンク色の文字にしておいた

振り返りにパワポで開発経緯をまとめると見やすいのに気づいた! 以前は「One note」で必死にやっていたのに・・・・・

またPySimpleGUIの開発は凍結するので記事の更新は無くなる予定

FlaskでMariaDBを使ったWEBアプリを2個ほど計画しているが、 完成はいつになるのやら・・・・・・

次回は、第2弾「シリアル通信動作確認GUI」のコンセプトなどなど掲載予定