728x90

pyqt 4

[pyside6] 창 타이틀바에서 닫기 버튼, 최소화 버튼, 최대화 버튼 등을 비활성화 되게 하려면?

pyside 또는 pyqt로 응용 프로그램을 만들다보면 윈도우 타이틀바에서 닫기 버튼, 최소화 버튼, 최대화 버튼 등을 비활성화시키고 싶은 경우가 있습니다. 참고로 응용 프로그램에서 이런 걸 윈도우(창) 타이틀바라고 부릅니다. 타이틀 바에는 일반적으로 프로그램의 아이콘, 이름, 최소화버튼, 최대화버튼, 닫기버튼 등이 포함되어 있습니다. 닫기 버튼 비활성화 닫기 버튼을 비활성화시키고 싶다면 다음 코드 한 줄을 적절한 위치에 삽입해주면 됩니다. self.setWindowFlags(Qt.WindowTitleHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint) 저는 해당 클래스의 __init__ 함수 내에 삽입해줬습니다. 실행해봤더니 다음과 같이 ..

코딩/pyqt, pyside 2022.06.07

[pyside6] QLabel에 이미지 넣을 때 종횡비(aspect ratio) 설정

pyqt, pyside 앱에 이미지를 넣고 싶을 때는 QLabel 위젯을 활용할 수 있다. 이때 이미지를 넣을 때 이미지의 크기를 원래 크기와 다르게 해주려면 QPixmap 클래스의 scaled 메소드를 활용해야 한다. 이미지의 크기를 지정해줄 때는 이미지의 종횡비(aspect ratio)를 어떻게 설정할 것인가를 고려해야 한다. 종횡비는 이미지의 가로세로 비율이라고 생각하면 된다. 이미지의 경우 대체로 종횡비를 유지하는 것이 실제 비율을 해치지 않기 때문에 좋다. QLabel 이미지 종횡비 설정법 만약 원래 이미지의 종횡비를 무시하고 지정하는 크기에 맞출 것이면 aspectMode를 Qt.IgnoreAspectRatio로 해주면 된다. 종횡비를 유지할 것이면 Qt.KeepAspectRatio로 설정하면..

코딩/pyqt, pyside 2022.02.27 (2)

[pyside6] 위젯 내 글자 크기를 변경하고 싶을 때

pyside 또는 pyqt에서 위젯이라는 것은 UI를 구성하는 하나하나의 요소를 뜻한다. 버튼, 라벨, 체크박스 등등이 모두 위젯이다. 오늘은 이러한 위젯 내 글자 크기를 변경하는 방법에 대해 알아보자. 어렵지 않으니 바로 코드를 살펴보자. from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QVBoxLayout, QWidget import sys class MainWindow(QMainWindow): def __init__(self): super().__init__() widget1 = QLabel("hello world") widget2 = QLabel("hello world") font = widget2.font..

코딩/pyqt, pyside 2022.02.26

[PySide6] DeprecationWarning: Fuction: 'globalPos() const' is marked as deprecated 경고 메시지 출력 안되게 하기

pyqt나 pyside로 데스크탑 응용 프로그램을 만들 때 타이틀바를 없앤 형태로 프로그램을 만드는 경우가 있습니다. 이러한 프로그램들은 타이틀바가 없기 때문에 모니터 화면 상에서 이동시키기 위해서 별도의 처리를 해줘야 합니다. class MainWindow(QMainWindow)와 같은 클래스 내에 다음과 같은 함수들을 추가해주면 됩니다. def mousePressEvent(self, event): self.oldPos = event.globalPos() def mouseMoveEvent(self, event): delta = QPoint(event.globalPos() - self.oldPos) self.move(self.x() + delta.x(), self.y() + delta.y()) self...

코딩/pyqt, pyside 2021.11.29