tkinter๋ ์คํฌ๋ฆฝํธ์์ฑ์ ํตํด์๋ง ์คํ ๊ฐ๋ฅํ์ง๋ง, PyQt5๋ Designer๋ผ๋ tool๋ ๊ฐ์ด ์ ๊ณต๋์ด ๋ ์์ฑํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค.
*PyQt5 Designer
์ ํ๋ฉด์ ํ๋ก๊ทธ๋จ์์ ๋๋๊ทธ๋ฅผ ํตํด ์์ ฏ๊ณผ ๊ธฐ๋ฅ์ ๋ฐฐ์น ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ ํ์ .uiํ์ฅ์๋ฅผ ๊ฐ์ง (XMLํ์ผ)๋ก ์ ์ฅ์ด ๋๋ฉฐ, ํ์ด์ฌ ํฐ๋ฏธ๋์ฐฝ์์ Converter๋ฅผ ์ฌ์ฉํ์ฌ .py ํ์ผ๋ก ๋ณํํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
*PyQt5 ์ค์น๋ฐฉ๋ฒ
pip install pyqt5
pip install pyqt5-tools (ํด ์ค์น)
๋ค์ ํ์ด์ฌ์ ์ค์น๊ฒฝ๋ก๋ฅผ ์ฐพ์ ๋ค์ด๊ฐ๋ฉด, pyqt-tools\Qt\bin ํด๋์ Designer ์คํํ์ผ์ด ์์ต๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ๋ ๊ฐ์ํ๊ฒฝ ์ฌ์ฉ์ค์ด๋ผ(C:\python_jy\jy\Lib\site-packages\pyqt5_tools\Qt\bin)์ ์์์ต๋๋ค.
*์ฌ์ฉ๋ฒ ๋ฐ ์์ pyuic5 ".uiํ์ผ๋ช
" -o ".pyํ์ผ๋ช
"
์์ง ๊ธฐ๋ฅ์ ๋ํด ํ์
ํ์ง ๋ชปํ์๊ธฐ ๋๋ฌธ์, ์ด๊ฒ์ ๊ฒ ๋ฃ์ด๋ณด๊ณ ํ์ผ์ ์ ์ฅํ์ต๋๋ค.
๊ทธ ํ์ ๊ฐ์ ๊ฒฝ๋ก์ python ํ์ผ์ ํ๋ ์์ฑํด์ค๋๋ค.
Ctrl + R : ๋ฏธ๋ฆฌ๋ณด๊ธฐ (์ด๋ ํ ๊ธฐ๋ฅ์ธ์ง ์ ๋ชจ๋ฅผ๋ ๋ฏธ๋ฆฌ ์ฌ์ฉํด๋ณด๋ฉด ์๊ธฐ ์ฝ์ต๋๋ค.)
๋ค์
import sys
from PyQt5 import QtWidgets
from PyQt5 import uic
class Form(QtWidgets.QDialog):
def __init__(self, parent=None):
QtWidgets.QDialog.__init__(self, parent)
self.ui = uic.loadUi("test.ui") ##์ด๊ณณ์ designer์์ ์ ์ฅํ ํ์ผ๋ช
์ ์
๋ ฅํด์ค๋๋ค.
self.ui.show()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = Form()
sys.exit(app.exec())