Pysimplegui: [์ปค๋ฎค๋‹ˆํ‹ฐ] PySimpleGUI๋Š” ์ž‘์„ฑ ์ˆ˜์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š์•„์„œ ์‚ฌ์šฉํ•ด ๋ณด์…จ๋‚˜์š”?

์— ๋งŒ๋“  2018๋…„ 11์›” 25์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PySimpleGUI/PySimpleGUI

PySimpleGUI์˜ ์ƒ๋Œ€์ ์ธ ์ธ๊ธฐ๋„์— ๋Œ€ํ•œ ์ด๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง๊ด€์ ์ด๊ณ  ์ ˆ์ฐจ์ ์ธ ์Šคํƒ€์ผ์˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋งŽ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค๋ ฅ์ ์ด๋ผ๊ณ  โ€‹โ€‹์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋‹น์‹ ์€ ์•„์ง Python ํด๋ž˜์Šค์—์„œ Classes๋ฅผ ๋‹ค๋ฃจ์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ์ด ์™„์ „ํžˆ ํŽธํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋Š๋‚„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

_๋‹น์‹ ์ด ๊ทธ๋Ÿฌํ•œ ์‚ฌ๋žŒ๋“ค ์ค‘ ํ•˜๋‚˜๋ผ๋ฉด, ๋‚˜๋Š” ๋‹น์‹ ์˜

์‹ค์ œ๋กœ ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์š”์†Œ๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. Window๋Š” ํด๋ž˜์Šค ๋“ฑ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ํ•„์š”๊ฐ€ ์—†๋„๋ก ๋””์ž์ธ ํŒจํ„ด์„ ํ†ตํ•ด ๊ทธ๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ๋‹ค์†Œ ํ†ต์ œ๋œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ „ํ™”๋ฅผ ๊ฑธ๊ธฐ ์œ„ํ•ด ์ถœ๋ฐœ์ ์œผ๋กœ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

community input desired

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์ˆœํ•œ ํ๊ธฐ GUI์— ํ•„์š”ํ•œ ์ƒ์šฉ๊ตฌ์˜ ์–‘์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ฒŒ์œผ๋ฅด๊ฑฐ๋‚˜ ์˜คํžˆ๋ ค ์ •๋ง๋กœ ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๊ณผ GUI๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•ด์•ผ ํ•  ๊ฒƒ ์‚ฌ์ด์˜ ๋ฌด์˜๋ฏธํ•œ ์ปจํ…์ŠคํŠธ ์ „ํ™˜์„ ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  6 ๋Œ“๊ธ€

์ €๋Š” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•˜์ง€๋งŒ ๊ธฐ๋ณธ GUI๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์— PySimpleGUI๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PySimpleGUI์™€ PySimpleGUIQt ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์‰ฝ๋‹ค๋Š” ์ ๋„ ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹จ์ˆœํ•œ ํ๊ธฐ GUI์— ํ•„์š”ํ•œ ์ƒ์šฉ๊ตฌ์˜ ์–‘์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ฒŒ์œผ๋ฅด๊ฑฐ๋‚˜ ์˜คํžˆ๋ ค ์ •๋ง๋กœ ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๊ณผ GUI๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•ด์•ผ ํ•  ๊ฒƒ ์‚ฌ์ด์˜ ๋ฌด์˜๋ฏธํ•œ ์ปจํ…์ŠคํŠธ ์ „ํ™˜์„ ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๊ธ€๋“ค์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์šฉ๊ตฌ์˜ ๊ฐ์†Œ๊ฐ€ ๊ฐ€์žฅ ๋งค๋ ฅ์ ์ธ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์ƒ์šฉ๊ตฌ ์•…๋Œ€์ฐจ +1

๋‚˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ดํ•ดํ•˜์ง€๋งŒ ์ „์— GUI๋ฅผ '์ž‘์„ฑ'ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. (์ €๋Š” Visual Studio์™€ ๊ฐ™์€ ๋„๊ตฌ์™€ VBA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–‘์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.) GUI '์ž‘์„ฑ'์— ๊ทธ๋‹ค์ง€ ํฅ๋ฏธ๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ด์ฌ์œผ๋กœ ๊ทธ๊ฒƒ์„ ํ”ผํ•˜๊ณ  ๋ช…๋ น์ค„์— ์ถฉ์‹คํ–ˆ์Šต๋‹ˆ๋‹ค. PySimpleGUI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ์šฉ GUI๋ฅผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ํŒŒ์ด์ฌ์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Windows ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ํ•œ๋‘ ๊ฐ€์ง€๋ฅผ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ˆ˜์—…์— ๋งค์šฐ ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” Python์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ GUI ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ดํŽด๋ณด๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์žฅ๋‹จ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋‹จ์ง€ Python์˜ ํ‘œ๋ฉด์„ ๊ธ๊ณ  ์žˆ์„ ๋ฟ์ด๋ฏ€๋กœ GUI ํ”„๋ ˆ์ž„์›Œํฌ(์˜ˆ: QT)์˜ ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ €๋Š” ์ฃผ๋กœ Visual Designer๊ฐ€ ์žˆ๋Š” GUI ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฐพ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(์ €๋Š” click-drag-drop์˜ ํŒฌ์ž…๋‹ˆ๋‹ค. :-)). QT๋ฅผ ์ œ์™ธํ•˜๊ณ  Python์„ ์œ„ํ•œ Visual Designer๋Š” ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค...
์ด๋Ÿฐ ์ด์œ ๋กœ ์ฒ˜์Œ์—๋Š” PySimpleGUI๋ฅผ ๊ฑด๋„ˆ๋›ฐ์—ˆ์ง€๋งŒ ์–ด์ฉ์ง€ ๋‹ค์‹œ ๋ˆˆ๊ธธ์„ ๋Œ์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค! ์ง€๊ธˆ PSG์—์„œ ๋‚˜๋ฅผ ๊ทธํ† ๋ก ๋งคํ˜น์‹œํ‚ค๋Š” ๊ฒƒ์€ ๋†€๋ผ์šด ์‚ฌ์šฉ ํŽธ์˜์„ฑ์ž…๋‹ˆ๋‹ค! ๋ง ๊ทธ๋Œ€๋กœ 5๋ถ„ ๋งŒ์— ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ–‰/์—ด ๊ฐœ๋…์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜์—ฌ ๋งค์šฐ ์งง์€ ์‹œ๊ฐ„์— GUI๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ PSG GUI์˜ ์ˆœ์ฐจ์  ํŠน์„ฑ์€ ์ •๋ง ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ด๋ฒคํŠธ ๊ตฌ๋™ GUI์™€๋Š” ๋Œ€์กฐ์ ์ž…๋‹ˆ๋‹ค.
์กฐ๋งŒ๊ฐ„ PSG์˜ ํ•œ๊ณ„์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ, ๊ทธ๋Ÿด ๋•Œ๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ๋กœ์„œ๋Š” ์œ„์˜ ์ด์œ ๋กœ ์—ด๋ ฌํ•œ ํŒฌ์ž…๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์ž๋ถ„๋“ค๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰