SAP GUIのサーバ接続設定画面のPydroidソースコード リンクを取得 Facebook × Pinterest メール 他のアプリ 11月 18, 2025 SAP GUIのサーバ接続の設定画面の画像です。このGUIコンポーネントを表示・動作させるPydroidプログラムのソースコードを書いて。 ```py import tkinter as tk from tkinter import ttk from tkinter import messagebox class SapGuiConnectionWindow(tk.Tk): def __init__(self): super().__init__() self.title("新規システムエントリの登録") self.geometry("900x600") # 全体は左右に分割 self.columnconfigure(0, weight=0) self.columnconfigure(1, weight=1) self.rowconfigure(0, weight=1) # 左側のダミーパネル(グレーの帯) left = tk.Frame(self, bg="#d2d2d2", width=220) left.grid(row=0, column=0, sticky="nsw") left.grid_propagate(False) # 右側メイン main = tk.Frame(self, padx=20, pady=20) main.grid(row=0, column=1, sticky="nsew") main.columnconfigure(0, weight=1) main.rowconfigure(1, weight=1) # 上部説明テキスト explanation_text = ( "接続タイプを選択し、必要に応じてシステムパラメータを変更してください。\n" "システムの提案する内容説明を使用する場合は、内容説明項目を空のままにしておいてください。\n" "ボタン「次画面(N)」および「完了(F)」は、必要なデータをすべて入力すると有効になります。" ) explanation = tk.Label( main, text=explanation_text, justify="left", anchor="w", wraplength=600 ) explanation.grid(row=0, column=0, sticky="ew", pady=(0, 20)) # 中央のフォーム部分 center = tk.Frame(main) center.grid(row=1, column=0, sticky="nsew") center.columnconfigure(0, weight=1) # 接続タイプ行 conn_type_frame = tk.Frame(center) conn_type_frame.grid(row=0, column=0, sticky="w", pady=(0, 10)) tk.Label(conn_type_frame, text="接続タイプ:").pack(side="left") self.conn_type_var = tk.StringVar(value="カスタムアプリケーションサーバ") self.conn_type_combo = ttk.Combobox( conn_type_frame, textvariable=self.conn_type_var, state="readonly", width=30, values=[ "カスタムアプリケーションサーバ", "グループサーバ", "メッセージサーバ", ], ) self.conn_type_combo.pack(side="left", padx=10) # システム接続パラメータ(枠付き) system_frame_outer = tk.LabelFrame(center, text="システム接続パラメータ") system_frame_outer.grid(row=1, column=0, sticky="ew", pady=10) for i in range(2): system_frame_outer.columnconfigure(i, weight=(1 if i == 1 else 0)) # 各入力項目 row = 0 def add_row(label_text, var_default="", width=30): nonlocal row tk.Label(system_frame_outer, text=label_text).grid( row=row, column=0, sticky="e", padx=8, pady=4 ) var = tk.StringVar(value=var_default) entry = tk.Entry(system_frame_outer, textvariable=var, width=width) entry.grid(row=row, column=1, sticky="ew", padx=8, pady=4) row += 1 return var self.desc_var = add_row("内容説明:", "test", 40) self.app_server_var = add_row("アプリケーションサーバ:", "XXX.XXX.XXX.XX", 30) self.instance_var = add_row("インスタンス番号:", "00", 8) self.sysid_var = add_row("システムID:", "SAP", 10) self.saprouter_var = add_row("SAProuter ストリング:", "", 40) # 下部チェックボックス self.first_page_var = tk.BooleanVar(value=False) chk = tk.Checkbutton( center, text="このページを今後の新しいエントリの先頭ページとして使用します。この設定はただ…", variable=self.first_page_var, anchor="w", justify="left", wraplength=650, ) chk.grid(row=2, column=0, sticky="w", pady=(10, 0)) # 最下部ボタン列 button_frame = tk.Frame(main) button_frame.grid(row=2, column=0, sticky="e", pady=(20, 0)) btn_help = tk.Button(button_frame, text="ヘルプ(H)", command=self.on_help) btn_cancel = tk.Button(button_frame, text="中止(C)", command=self.on_cancel) btn_back = tk.Button(button_frame, text="< 前画面(B)", command=self.on_back) btn_next = tk.Button(button_frame, text="次画面(N)", command=self.on_next) btn_finish = tk.Button(button_frame, text="完了(F)", command=self.on_finish) for b in [btn_help, btn_cancel, btn_back, btn_next, btn_finish]: b.pack(side="left", padx=4) # ボタン動作 ----------------------------- def dump_params(self): print("=== SAP 接続パラメータ ===") print("接続タイプ :", self.conn_type_var.get()) print("内容説明 :", self.desc_var.get()) print("アプリケーションサーバ:", self.app_server_var.get()) print("インスタンス番号 :", self.instance_var.get()) print("システムID :", self.sysid_var.get()) print("SAProuter :", self.saprouter_var.get()) print("先頭ページにする:", self.first_page_var.get()) messagebox.showinfo( "情報", "入力内容をコンソールに出力しました。\n(実際の環境ではここで接続処理を行います)" ) def on_help(self): messagebox.showinfo( "ヘルプ", "これはサンプルのSAP接続設定画面です。\n" "Pydroid + tkinter 用のデモであり、実際のSAPシステムには接続しません。", ) def on_cancel(self): self.destroy() def on_back(self): messagebox.showinfo("情報", "前画面はダミーです。") def on_next(self): self.dump_params() def on_finish(self): self.dump_params() if __name__ == "__main__": # Pydroid で tkinter が有効になっていることを確認してください。 app = SapGuiConnectionWindow() app.mainloop() ``` リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
コメント
コメントを投稿