PyQt5 는 다양한 방식으로 화면에 띄운 윈도우 창의 위치를 지정할 수 있습니다. 윈도우를 생성하기 위해 상속받은 클래스에 따라 달라질 수 있는데, 대표적인 클래스는 QMainWindow 와 QWidget 입니다. QMainWindow 는 QWidget 을 상속받아 만들기 때문에 윈도우 창 생성과 관련한 함수는 동일하게 사용합니다.
◎ 1. 기본 윈도우 크기와 위치 설정 함수 |
▼ 윈도우에서 창 크기와 위치를 지정할 때 들어가는 변수명들에 대한 설명입니다.
▼ QMainWindow 의 setGeometry(x, y, width, height) 는 윈도우 화면에서의 위치를 결정 짓습니다. 기준은 윈도우 바탕화면입니다. 4개의 인수를 입력해야 되는데, 각 요소는 다음과 같습니다. QWidget 의 함수이기 때문에 QMainWindow 에서도 동일하게 사용할 수 있습니다.
x : 화면에서 x 위치 값
y : 화면에서 y 위치 값
width : 윈도우 넓이
height : 윈도우 높이
def init_ui(self):
# 윈도우 설정
self.setGeometry(500, 500, 400, 300) # x, y, w, h
▼ 또 다른 방법은 property 변수인 width, height, x, y 를 이용하는 것입니다.
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.width = 100
self.height = 100
self.x = 400
self.y = 500
◎ 2. 윈도우 사이즈와 위치 재조정 함수 |
▼ 함수 파라미터로 넘긴 데이터에서 첫 번째가 화면의 넓이, 두 번째가 높이입니다. setFixedSize()함수는 화면을 윈도우의 중앙에 위치시킵니다.
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 윈도우 설정
self.setGeometry(0, 0, 500, 300) # x, y, w, h
self.setWindowTitle('Status Window')
self.setFixedSize(600, 400)
▼ 관련 함수 중에 setFixedWidth() 와 setFixedHeight() 두 가지가 있습니다. 주로 기존 세팅된 윈도우의 높이와 넓이는 유지한 채 값을 변경할 때 사용하는 함수입니다. 아래 소스처럼 setGeometry() 로 세팅하고 setFixedWidth() 를 적용하면 윈도우 넓이가 바뀝니다.
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 윈도우 설정
self.setGeometry(0, 0, 500, 300) # x, y, w, h
self.setWindowTitle('Status Window')
self.setFixedWidth(900)
▼ 사이즈를 재조정하는 또 다른 방법은 resize(width, height) 함수를 이용하는 것입니다. 필요한 인수 두 개는 넓이와 높이 입니다. 위치 이동은 move(x, y) 함수를 이용해서 조절할 수 있습니다. 상황에 따라 윈도우 위치를 바꾸고 싶다면 resize() 와 move() 를 이용해 보세요.
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 윈도우 설정
self.setGeometry(0, 0, 500, 300) # x, y, w, h
self.setWindowTitle('Status Window')
self.resize(700, 500)
self.move(100, 100)
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 숫자형 데이터 타입 (정수, 실수) (1) | 2024.10.25 |
---|---|
파이썬(Python) PyQt5 QGroupBox 사용해서 위젯 그룹 관리하기 (1) | 2024.10.12 |
파이썬(Python) 기본 개발툴 IDLE 편집기 이용하는 방법 (0) | 2024.10.11 |
파이썬(Python) PyQt5 QDial 사용하기 (1) | 2024.10.04 |
파이썬(Python) PyQt5 Qt Designer 다운받아 화면 구현하기 (1) | 2024.09.26 |
파이썬(Python) sorted 함수 사용해서 정렬하기 (0) | 2024.09.22 |
파이썬(Python) 클립보드 제어하기 (2) | 2024.09.08 |
파이썬(Python) PyQt5 QFrame 구현하기 (3) | 2024.09.05 |