Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
もうひとつの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
150
高見知英とAndroid
takamichie
0
130
大人になってからのゲームデビューのハナシ
takamichie
0
110
最近のゲーム実況のハナシ
takamichie
0
130
健常者から見たAndroidのアクセシビリティ機能
takamichie
0
560
山手縁乃庭のいまとこれから考えていること
takamichie
0
190
子どもとゲームとそのほかいろいろのハナシ
takamichie
0
190
高見知英のヒストリー
takamichie
0
150
SRPGがやりたい!
takamichie
0
300
Other Decks in Programming
See All in Programming
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.4k
Java 27新機能 / Java 27 new features
kishida
2
150
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.5k
FreeBSDでZabbixを動かす
kenkino
0
310
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
700
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
150
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.5k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
2.8k
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
370
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
The Curse of the Amulet
leimatthew05
3
15k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
Leo the Paperboy
mayatellez
10
2.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
460
New Earth Scene 8
popppiees
4
2.6k
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