Pyqt6 Qthred 에서 Ui 함수 사용하기
852
작성한 질문수 1
이런 식으로 코드를 사용중입니다
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *
class thread (Qthread):
def __init__(self):
super().__init__()
def run(self):
while True:
mainbot_window.fun1()
class UI (QWidget):
def __init__(self):
super().__init__()
self.inits()
self.T1 = thread()
self.T1.start()
def inits(self):
print("각종 변수 설정")
def fun1(self):
print("run code")
def main(args=None):
global mainbot_window
app = QApplication(sys.argv)
mainbot_window = UI()
mainbot_window.show()
try:
app.exec()
except KeyboardInterrupt:
pass
if __name__ == '__main__':
main()여기서 global 변수를 사용하지 않고 싶습니다.
글로벌 변수를 사용하지 않고 Thread 에서 Qwidget 의 함수를 사용할 방법이 있을까요?
시도한것
thread 에서 pyqtsignal.emit 을 사용해서 시도해봤는데 ui가 검은 화면으로 뜬체 작동하지않습니다.
Qthread 대신 Qtimer 를 사용 =>작동은 잘되나 ui를 표시하는데 약간의 딜레이가 생깁니다. 그래서 되도록이면 Thread를 사용하고싶습니다.
답변 1
2
이렇게 하는 건 어떠신가요.
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *
import sys
class thread (QThread):
def __init__(self, ui):
super().__init__()
self.ui = ui
def run(self):
while True:
# mainbot_window.fun1()
self.ui.fun1() # 추가 코드
class UI (QWidget):
def __init__(self):
super().__init__()
self.inits()
self.T1 = thread(ui=self) # 수정 코드
self.T1.start()
def inits(self):
print("각종 변수 설정")
def fun1(self):
print("run code")
def main(args=None):
# global mainbot_window
app = QApplication(sys.argv)
mainbot_window = UI()
mainbot_window.show()
try:
app.exec()
except KeyboardInterrupt:
pass
if __name__ == '__main__':
main()
예시문제 작업형2(ver. 2025)
0
5
1
수강 연장 문의드립니다.
0
17
2
강사님 강의 잘듣고있습니다! 오류관련 질문 드립니다!
0
10
0
예시문제 작업형2(ver. 2025)
0
17
2
작업형2 모의문제 3 질문
0
19
1
오랜만에 인사드립니다 강사님
0
15
1
강의신청 후
0
25
1
안녕하세요 강사님 문의사항이 있습니다
0
25
1
수강 연장 문의
0
38
4
수강기간 연장 관련 문의
0
35
2
작업형2모의문제3_updated2026.10
0
55
2
안녕하세요. 수강연장 신청드립니다
0
32
2
코랩 링크
0
35
2
사용자설정에 claude 설정들은 어떻게 하나요??
0
41
1
윈도우 환경에서는 진행이 어렵나요?
0
47
1
시계열 분석 문의
0
37
1
작업형2 모의문제2 updated 2026.10 질문
0
51
2
카이제곱 독립성검정 질문합니다.
0
44
2
수정 자료 요청
0
46
1
기출 7회 작업형2 평가지표 문의드립니다.
0
34
2
수강연장 문의 드립니다!
0
64
3
수강연장 문의드립니다
0
49
4
작업형2모의문제3_updated2026.10
0
60
2
엔비디아, 테슬라, 등등 최근에 많이 오른 주식들 accuracy이슈
1
48
2





