Browse Source

code update

tobby48 6 years ago
parent
commit
3d01999af0

+ 90
- 0
src/kr/co/swh/lecture/python/pyqt5/dialog.py View File

@@ -0,0 +1,90 @@
1
+import sys
2
+from PyQt5.QtWidgets import *
3
+from PyQt5.QtCore import *
4
+
5
+class MyWindow(QWidget):
6
+    def __init__(self):
7
+        super().__init__()
8
+        self.initUI()
9
+
10
+    def initUI(self):
11
+        self.setWindowTitle('SWH Academy Window.')
12
+        
13
+        centerGeometry = QDesktopWidget().availableGeometry().center()
14
+        self.resize(300, 300)
15
+        frameGeometry = self.frameGeometry()
16
+        frameGeometry.moveCenter(centerGeometry)
17
+
18
+        idLabel = QLabel("아이디 : ")
19
+        ageLabel = QLabel("나이 : ")
20
+        self.idLineEdit = QLineEdit()
21
+        self.ageLineEdit = QLineEdit()
22
+        
23
+        self.registerButton = QPushButton("회원가입")
24
+        self.registerButton.clicked.connect(self.registerButtonClicked)
25
+        self.fontButton= QPushButton("폰트 고르기")
26
+        self.fontButton.clicked.connect(self.fontButtonClicked)
27
+        self.bgButton = QPushButton("배경색 바꾸기")
28
+        self.bgButton.clicked.connect(self.bgColorButtonClicked)
29
+        self.fileButton = QPushButton("파일 창")
30
+        self.fileButton.clicked.connect(self.fileButtonClicked)
31
+        self.textEdit = QTextEdit()
32
+
33
+        layout = QGridLayout()
34
+
35
+        layout.addWidget(idLabel, 0, 0)
36
+        layout.addWidget(self.idLineEdit, 0, 1)
37
+
38
+        layout.addWidget(ageLabel, 1, 0)
39
+        layout.addWidget(self.ageLineEdit, 1, 1)
40
+        layout.addWidget(self.registerButton, 1, 2)
41
+        
42
+        layout.addWidget(self.fontButton, 2, 0)
43
+        layout.addWidget(self.bgButton, 2, 1)
44
+        layout.addWidget(self.fileButton, 2, 2)
45
+        
46
+        layout.addWidget(self.textEdit, 3, 0)
47
+
48
+        self.setLayout(layout)
49
+        
50
+    def registerButtonClicked(self):
51
+        id, ok = QInputDialog.getText(self, '회원가입', '아이디를 입력하세요:')
52
+        if ok:
53
+            age, ok = QInputDialog.getInt(self, '회원가입', '나이를 입력하세요:')
54
+            if ok:
55
+                self.idLineEdit.setText(str(id))
56
+                self.ageLineEdit.setText(str(age))
57
+                
58
+    def fontButtonClicked(self):
59
+        font, ok = QFontDialog.getFont()
60
+        print(font)
61
+        if ok:
62
+            self.idLineEdit.setFont(font)
63
+            self.ageLineEdit.setFont(font)
64
+                
65
+    def bgColorButtonClicked(self):
66
+        color = QColorDialog.getColor()
67
+        print(color)
68
+        if color.isValid():
69
+            self.setStyleSheet('QWidget { background-color: %s }' % color.name())
70
+            
71
+    def fileButtonClicked(self):
72
+        fname = QFileDialog.getOpenFileName(self, '파일 열기', './')
73
+        print(fname)
74
+        if fname[0]:
75
+            with open(fname[0], 'r') as f:
76
+                data = f.read()
77
+                self.textEdit.setText(data)
78
+                
79
+    def closeEvent(self, event):
80
+        ack = QMessageBox.question(self, '종료', '창을 닫을래요?', QMessageBox.Yes | QMessageBox.No)
81
+        if ack == QMessageBox.Yes:
82
+            event.accept()
83
+        else:
84
+            event.ignore()
85
+                
86
+if __name__ == "__main__":
87
+    app = QApplication(sys.argv)
88
+    window = MyWindow()
89
+    window.show()
90
+    sys.exit(app.exec_())

+ 26
- 0
src/kr/co/swh/lecture/python/pyqt5/eventhandler.py View File

@@ -0,0 +1,26 @@
1
+import sys
2
+from PyQt5.QtWidgets import *
3
+from PyQt5.QtCore import *
4
+
5
+class MyWindow(QWidget):
6
+    def __init__(self):
7
+        super().__init__()
8
+        self.initUI()
9
+
10
+    def initUI(self):
11
+        self.setWindowTitle('SWH Academy Window.')
12
+        self.setGeometry(300, 300, 300, 200)
13
+
14
+    def keyPressEvent(self, e):
15
+        if e.key() == Qt.Key_F:
16
+            self.showFullScreen()
17
+        elif e.key() == Qt.Key_N:
18
+            self.showNormal()
19
+        elif e.key() == Qt.Key_0:
20
+            self.close()
21
+        
22
+if __name__ == "__main__":
23
+    app = QApplication(sys.argv)
24
+    window = MyWindow()
25
+    window.show()
26
+    sys.exit(app.exec_())

src/kr/co/swh/lecture/python/pyqt5/event-slot.py → src/kr/co/swh/lecture/python/pyqt5/eventslot.py View File


+ 21361
- 0
src/kr/co/swh/lecture/python/pyqt5/get-pip.py
File diff suppressed because it is too large
View File