-
Notifications
You must be signed in to change notification settings - Fork 0
/
15.PyQt5_practice1py.py
66 lines (51 loc) · 1.79 KB
/
15.PyQt5_practice1py.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python
# coding: utf-8
# 예제 내용
# * 기본 위젯을 사용하여 기본 창을 생성
# * Layout 을 이용하여 위젯을 배치
import sys
from PyQt5.QtWidgets import QWidget
from PyQt5.QtWidgets import QLabel
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtWidgets import QBoxLayout
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import Qt
__author__ = "Deokyu Lim <[email protected]>"
class Form(QWidget):
def __init__(self):
QWidget.__init__(self, flags=Qt.Widget)
# 배치될 위젯 변수 선언
self.lb_1 = QLabel()
self.lb_2 = QLabel()
self.pb_1 = QPushButton()
self.pb_2 = QPushButton()
# 레이아웃 선언 및 Form Widget에 설정
self.layout_1 = QBoxLayout(QBoxLayout.TopToBottom, self)
self.layout_2 = QBoxLayout(QBoxLayout.LeftToRight)
self.layout_3 = QBoxLayout(QBoxLayout.LeftToRight)
# 부모 레이아웃에 자식 레이아웃을 추가
self.layout_1.addLayout(self.layout_2)
self.layout_1.addLayout(self.layout_3)
self.setLayout(self.layout_1)
self.init_widget()
def init_widget(self):
self.setWindowTitle("Layout Basic")
self.setFixedWidth(640)
# 라벨1의 설정 및 레이아웃 추가
self.lb_1.setText("레이아웃 생성하기")
# self.lb_1.setStyleSheet("background-color: yellow")
self.pb_1.setText("완료")
self.layout_2.addWidget(self.lb_1)
self.layout_2.addWidget(self.pb_1)
# 라벨2의 설정 및 레이아웃 추가
self.lb_2.setText("스타일 지정하기")
# self.lb_2.setStyleSheet("background-color: red")
self.pb_2.setText("완료")
self.pb_2.setStyleSheet("width: 30px; height: 30px;")
self.layout_3.addWidget(self.lb_2)
self.layout_3.addWidget(self.pb_2)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Form()
form.show()
exit(app.exec_())