Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
もうひとつのGUI環境PyWebView
Search
高見知英
December 09, 2019
Programming
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
もうひとつのGUI環境PyWebView
2019/12/09 Python LT発表&交流会 #5で発表した資料です。
高見知英
December 09, 2019
More Decks by 高見知英
See All by 高見知英
ポッドキャストをはじめよう ポッドキャストのやりかたと続けるコツ
takamichie
0
130
高見知英とAndroid
takamichie
0
110
大人になってからのゲームデビューのハナシ
takamichie
0
100
最近のゲーム実況のハナシ
takamichie
0
120
健常者から見たAndroidのアクセシビリティ機能
takamichie
0
550
山手縁乃庭のいまとこれから考えていること
takamichie
0
180
子どもとゲームとそのほかいろいろのハナシ
takamichie
0
170
高見知英のヒストリー
takamichie
0
140
SRPGがやりたい!
takamichie
0
290
Other Decks in Programming
See All in Programming
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
100
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
230
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
440
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.5k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
440
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
850
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
440
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Exploring anti-patterns in Rails
aemeredith
3
440
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
We Are The Robots
honzajavorek
0
280
Documentation Writing (for coders)
carmenintech
77
5.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Scaling GitHub
holman
464
140k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Transcript
もうひとつのGUI環境 PyWebView まちづくりエージェント SIDE BEACH CITY. 高見知英 12/9/2019 もうひとつのGUI環境PyWebView 1
高見知英 です! 2 もうひとつのGUI環境PyWebView 12/9/2019
言語 3 もうひとつのGUI環境PyWebView 12/9/2019 Python Javascri pt PHP CSS HTML5
Android Java UWSC C#
PythonでGUI Tkinter Pythonに同梱 部品をソースで配置 する昔ながらの手法 100% Python import tkinter as
tk import tkinter.ttk as ttk root = tk.Tk() root.title(“Title") root.iconbitmap(default=iconfile) root.resizable(width=False, height=False) notebook = ttk.Notebook() tab1 = tk.Frame(notebook) tab2 = tk.Frame(notebook) tab3 = tk.Frame(notebook) tab4 = tk.Frame(notebook) …………… 12/9/2019 もうひとつのGUI環境PyWebView 4
問題点 すべてがPython 振る舞いと見た目を分離できない アニメーションはツラい 処理中だからテキストを点滅させる 色鮮やかなアニメーションを表示する リファレンスが微妙に少ない 12/9/2019 もうひとつのGUI環境PyWebView 5
そこでPyWebView HTMLをGUIに使う エンジンは選択可能 MSHTML(Edge) CEF(Chrome) Bootstrapなどが そのまま利用可能 import webview import
threading webview.config.gui = ‘cef‘ window = webview.create_window(title=“Title“, html=“<html>“,width=600, height=800, debug=False) webview.start(proc, window, gui=“cef“) 12/9/2019 もうひとつのGUI環境PyWebView 6
解決できること HTMLとPythonで見た目と処理の分離 適宜PythonコードをAPIとして呼び出し可能 Bootstrap等で気軽におしゃれなUIが実現可能 全てのHTML5関連資料が役立つ PyWebView独自処理は少ない 開発継続中(わたしもIssueで何度か) 12/9/2019 もうひとつのGUI環境PyWebView 7
PyWebViewの問題 Pythonの他にHTML+CSS+JavaScriptを 学ぶ必要がある 脆弱性を作り込んだ場合被害はWebより深刻 デバッグがやりづらい GUI=ブラウザデバッグ機能、Python=開発環境 利用者が少なく独自マニュアルが少ない 12/9/2019 もうひとつのGUI環境PyWebView 8
複数のスキルセットを活用 それでもGUIの綺麗さはPythonの比でない わからないこと、難しいことはJavaScriptなどの ライブラリに任せられる なにより見た目が美しい! npmなどの豊富なライブラリ 構成によってはpipenvとnpmの二重管理 構成が複雑になりやすい=クラス設計を徹底 12/9/2019 もうひとつのGUI環境PyWebView
9
おわり ご清聴ありがとうございました 12/9/2019 もうひとつのGUI環境PyWebView 10