728x90
반응형
예시
폴더를 불러오고, 컨트롤에 폴더 경로를 띄워줄 때 경로가 길다면 윈도우 크기가 그에 맞춰 가로로 길어진다.
하지만 같은 함수 안에서 호출되는 load_and_display_image에서는 image_viewer 사이즈에 맞춰 이미지를 출력하지만,
크기가 늘어나기 전 윈도우 사이즈에 맞춰 이미지가 출력된다.
PyQT가 UI를 한번에 처리해서 문제 발생
update()
repaint()
등등 해봤지만 해결되지 않았다.
해결 방법
from PyQt5.QtCore import QCoreApplication
QCoreApplication.processEvents() # 이벤트 루프를 실행하여 UI 업데이트가 발생하도록 함
self.adjustSize()
문제되는 코드
def select_folder(self):
self.folder_path = QFileDialog.getExistingDirectory(self, "폴더 선택")
self.folder_label.setText("선택한 폴더: " + self.folder_path)
self.width_input.setText("0")
self.height_input.setText("0")
self.x_offset_input.setText("0")
self.y_offset_input.setText("0")
# Load image paths
self.load_image_paths()
# Display the first image
if len(self.image_paths) > 0:
self.load_and_display_image(self.image_paths[self.current_image_index])
else:
QMessageBox.critical(self, "오류", "폴더 내에 이미지가 없습니다.")
수정된 코드
def select_folder(self):
self.folder_path = QFileDialog.getExistingDirectory(self, "폴더 선택")
self.folder_label.setText("선택한 폴더: " + self.folder_path)
QCoreApplication.processEvents() # 이벤트 루프를 실행하여 UI 업데이트가 발생하도록 함
self.adjustSize()
self.width_input.setText("0")
self.height_input.setText("0")
self.x_offset_input.setText("0")
self.y_offset_input.setText("0")
# Load image paths
self.load_image_paths()
# Display the first image
if len(self.image_paths) > 0:
self.load_and_display_image(self.image_paths[self.current_image_index])
else:
QMessageBox.critical(self, "오류", "폴더 내에 이미지가 없습니다.")
728x90
반응형
'집중 - 어제보다 나아가자 > [개발] 파이썬 🍕' 카테고리의 다른 글
[pyinstaller] 명령어 , Anaconda 용량 줄이기 팁 (0) | 2023.10.06 |
---|---|
[파이썬] 내가 보려고 정리한 파이썬 문법들 (0) | 2023.05.18 |
[splitfolders] 이미지 폴더를 Train, Valid, Test로 나눠주는 라이브러리 (0) | 2023.03.15 |
[파이썬] 파일 경로로 파일 실행하기 (0) | 2022.04.28 |
최근댓글