ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํจ์ ์ฐ๊ฒฐ ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ import ํด์ค๋ค.
์ฐ์ ๋ง๋ค์ด๋ ํจ์py ํ์ผ์ ๋ชจ๋ํํ์ฌ ๊ฐ์ ธ์จ๋ค.
#Moduel
from kakao_data import *
๊ทธ๋ฆฌ๊ณ GUI๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ PyQt5๋ฅผ ๋ถ๋ฌ์จ๋ค.
#System
from PyQt5 import uic
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ์๋ฅผ ํ์ํ ๋๋ง๋ค ์ถ๊ฐํ๋๋ฐ ์ผ๋จ ์์ฑํ ์ดํ์ ์์ฑํ๋ ๊ฒ์๋ฌผ์ด๊ธฐ ๋๋ฌธ์ ํ๋ฒ์ ์ ์๋ค.
๋ฉ์ธ ์ ์ธ
๋ฉ์ธ์ ์ ์ธํ๊ณ GUI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ๋ฌ์ค๋ ์์ ์ ๋ด๊ฐ ์์ฑํ๊ธฐ ์ด๋ ค์์ ์์น๋ก ๊ฐ์ ธ์๋ค.
#๋ฉ์ธ ์ ์ธ
if __name__ == "__main__":
#Application ์์ฑ
app = QApplication(sys.argv)
#์๋์ฐ ์์ฑ
myWindow = WindowClass()
# ์๋์ฐ ์ถ๋ ฅ
myWindow.show()
#์ข
๋ฃ์๊น์ง ๋๊ธฐ
app.exec_()
๋ฉ์ธ์ ์ ์ธํด์ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋ ๋๋ง ์คํ๋๋๋ก ํ๋ค.
QApplication ํด๋์ค๋ฅผ ํตํด ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ณ ๋ชจ๋ GUI ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ QApplication ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค.
app = QApplication(sys.argv)
- ๋ช ๋ น์ค ์ธ์๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด sys.argv๋ฅผ ์์ฑํ์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋ ๋์ ํ๊ฒฝ์ ์ค์ ํ๋ ๋ฐ ๋์์ ์ค๋ค.
์๋์ฐ๋ฅผ ์ธ์คํด์ค๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉ์๊ฐ ์ ์ํ ํด๋์ค๊ฐ ์์๋ฐ์ ์ ์๋๋ก ํ๋ค.
myWindow = WindowClass()
์๋์ฐ๊ฐ ํ๋ฉด์ ํ์๋๋๋ก ์ถ๋ ฅํ๋ค.
myWindow.show()
์ด๋ฒคํธ ๋ฃจํ๋ฅผ ์คํํ๊ณ ์ฌ์ฉ์๊ฐ ์ฐฝ์ ๋ซ์ผ๋ฉด ์ข ๋ฃ๋๋๋ก ํ๋ค.
app.exec_()
ui ํ์ผ ๋ถ๋ฌ์ค๊ณ ํด๋์ค ์ ์ธ
์ฐ์ ๋ง๋ค์ด๋ ui ํ์ผ์ ์์ ๋ด์ฉ๋ค์ ์์ฑ์ค์ธ ์ฃผํผํฐ ํ์ผ์ด ์ํ ๋์ผํ ํด๋์ ๋ฃ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ PyQt5 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ uic ๋ชจ๋์ ํ์ฉํด์ ui ํ์ผ์ ๋ถ๋ฌ์จ๋ค.
file_ui = uic.loadUiType("./final.ui")[0]
๊ทธ๋ฆฌ๊ณ ๋ฒํผ๊ณผ pyํ์ผ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ ํจ์๋ค์ ์ ์ํ๊ธฐ ์ํด ์๋์ฐ ํด๋์ค๋ฅผ ์ ์ธํ๋ค.
class WindowClass(QMainWindow, file_ui):
def __init__(self):
super().__init__()
self.setupUi(self)
์ด์ ํด๋น ์ ์ธ ์๋์ ์ฐ๊ฒฐ ์ฝ๋๋ฅผ ์ ๋ ฅํด ๋๊ฐ ์์ ์ด๋ค.
์ ์ธ์ด ์๋ฃ ๋์๋ค๋ฉด ์ด๋ค ํจ์๊ฐ ํ์ํ ์ง QT ๋์์ด๋์์ ๊ทธ๋ฆฐ ๋ฒํผ๋ค์ ์ฐธ๊ณ ํ์ฌ ๋ฏธ๋ฆฌ ์ ์ด๋๋ค.
#1. ํ์ผ ์ฐพ์๋ณด๊ธฐ ๋ฒํผ - fl_btn
#2. ํ์ผ ๊ฒฝ๋ก ๋ํ๋๋ ๋ฒํผ - fl_lbl
#3. ๋ถ์ ๊ธฐ๋ฅ ์ง์ ๋๋กญ๋ค์ด ๋ฒํผ - fun_cb
# ์ฌ์ฉ์๋ณ ๋ํ ๋น๋
# ์ฌ์ฉ์๋ณ ์ด๋ชจํฐ์ฝ ์ฌ์ฉ ๋น๋
# ์ฌ์ฉ์๋ณ ํ๋ ์๊ฐ๋
# ์ฌ์ฉ์๋ณ ํ๊ท ๋ต๋ณ ์๊ฐ
#4. ์๊ฐ๋๋ณ ํ๋ ๋น๋ ๋ถ์ ์ฐธ์ฌ์ ์ ํ ํ ์คํธ ์ ๋ ฅ ๋ฐ์ค - filter_te
#5. ๋ถ์ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ๋ฒํผ - down_btn
#6. ๋ถ์(Start) Run ๋ฒํผ - st_btn
#7. ์ด๊ธฐํ(Reset) Run ๋ฒํผ - rst_btn
#8. ๊ฒฐ๊ณผ ํ๋ฉด - ptr_lbl
https://sundery.tistory.com/140
์ ๊ฒ์๋ฌผ์์ ์์ฑํ QT์ ๊ฐ์ฒด๋ช ๊ณผ ๊ฐ ๊ฐ์ฒด๋ช ์ ๊ธฐ๋ฅ์ ์์ฑํ๊ณ ์ฐจ๋ก๋๋ก ํจ์๋ฅผ ์์ฑํ ์์ ์ด๋ค.
'๐ก Data Analysis > ๐ Project - Analysis of KakaoTalk (end)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[QT][Python] ํจ์์ QT ์ฐ๊ฒฐํ๊ธฐ (3) (1) | 2024.08.01 |
---|---|
[QT][Python] ํจ์์ QT ์ฐ๊ฒฐํ๊ธฐ (2) (0) | 2024.08.01 |
[QT] QT Designer ๋ก ๋์์ธํ๊ธฐ (0) | 2024.07.31 |
[QT] QT Designer ์ฌ์ฉํ๊ธฐ (0) | 2024.07.30 |
[DA][Python] ๋ํ ๋ถ์ ๊ธฐ๋ฅ - ์ฌ์ฉ์๋ณ ํ๊ท ๋ต๋ณ ์๊ฐ ๋ถ์ (4) (2) | 2024.07.24 |