123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import sys
- from PyQt5.QtWidgets import *
- from PyQt5.QtCore import *
-
- class MyWindow(QWidget):
- def __init__(self):
- super().__init__()
- self.initUI()
-
- def initUI(self):
- self.setWindowTitle('SWH Academy Window.')
-
- centerGeometry = QDesktopWidget().availableGeometry().center()
- self.resize(300, 300)
- frameGeometry = self.frameGeometry()
- frameGeometry.moveCenter(centerGeometry)
-
- idLabel = QLabel("아이디 : ")
- ageLabel = QLabel("나이 : ")
- self.idLineEdit = QLineEdit()
- self.ageLineEdit = QLineEdit()
-
- self.registerButton = QPushButton("회원가입")
- self.registerButton.clicked.connect(self.registerButtonClicked)
- self.fontButton= QPushButton("폰트 고르기")
- self.fontButton.clicked.connect(self.fontButtonClicked)
- self.bgButton = QPushButton("배경색 바꾸기")
- self.bgButton.clicked.connect(self.bgColorButtonClicked)
- self.fileButton = QPushButton("파일 창")
- self.fileButton.clicked.connect(self.fileButtonClicked)
- self.textEdit = QTextEdit()
-
- layout = QGridLayout()
-
- layout.addWidget(idLabel, 0, 0)
- layout.addWidget(self.idLineEdit, 0, 1)
-
- layout.addWidget(ageLabel, 1, 0)
- layout.addWidget(self.ageLineEdit, 1, 1)
- layout.addWidget(self.registerButton, 1, 2)
-
- layout.addWidget(self.fontButton, 2, 0)
- layout.addWidget(self.bgButton, 2, 1)
- layout.addWidget(self.fileButton, 2, 2)
-
- layout.addWidget(self.textEdit, 3, 0)
-
- self.setLayout(layout)
-
- def registerButtonClicked(self):
- id, ok = QInputDialog.getText(self, '회원가입', '아이디를 입력하세요:')
- if ok:
- age, ok = QInputDialog.getInt(self, '회원가입', '나이를 입력하세요:')
- if ok:
- self.idLineEdit.setText(str(id))
- self.ageLineEdit.setText(str(age))
-
- def fontButtonClicked(self):
- font, ok = QFontDialog.getFont()
- print(font)
- if ok:
- self.idLineEdit.setFont(font)
- self.ageLineEdit.setFont(font)
-
- def bgColorButtonClicked(self):
- color = QColorDialog.getColor()
- print(color)
- if color.isValid():
- self.setStyleSheet('QWidget { background-color: %s }' % color.name())
-
- def fileButtonClicked(self):
- fname = QFileDialog.getOpenFileName(self, '파일 열기', './')
- print(fname)
- if fname[0]:
- with open(fname[0], 'r') as f:
- data = f.read()
- self.textEdit.setText(data)
-
- def closeEvent(self, event):
- ack = QMessageBox.question(self, '종료', '창을 닫을래요?', QMessageBox.Yes | QMessageBox.No)
- if ack == QMessageBox.Yes:
- event.accept()
- else:
- event.ignore()
-
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- window = MyWindow()
- window.show()
- sys.exit(app.exec_())
|