사용자가 입력을 하고 확인 버튼을 누르면 입력값을 가운데 결과 출력창에 추가합니다.
입력값이 누적되어 보이도록 합니다.
Copy # -*- coding: UTF-8 -*-
import sys
from PyQt5 . QtWidgets import *
from PyQt5 . QtCore import Qt
from PyQt5 import QtGui
from PyQt5 . QtGui import QPalette
class App ( QWidget ):
def __init__ ( self ):
super (App, self). __init__ ()
self . setWindowTitle ( 'Widget 배치!!!' )
self . resize ( 400 , 600 )
self . addWidgets ()
def addWidgets ( self ):
self . label_title = QLabel ( '위젯들을 붙여봅시다!!' , self)
self . label_title . move ( 0 , 20 )
self . label_title . resize ( 400 , 40 )
self . label_title . setAlignment (Qt.AlignCenter)
self . titleFont ()
self . titleFontColor ()
self . label_info = QLabel ( '확 : ' ,self)
self . label_info . move ( 40 , 100 )
self . infoFont ()
self . le_input = QLineEdit ( '' , self)
self . le_input . move ( 100 , 100 )
def infoFont ( self ):
font = QtGui . QFont ()
font . setPointSize ( 27 )
self . label_title . setFont (font)
def titleFont ( self ):
font = QtGui . QFont ()
font . setPointSize ( 30 )
self . label_title . setFont (font)
def titleFontColor ( self ):
pal = QtGui . QPalette ()
pal . setColor (QPalette.WindowText, QtGui. QColor ( 38 , 38 , 38 ))
self . label_title . setPalette (pal)
if __name__ == '__main__' :
app = QApplication (sys.argv)
window = App ()
window . show ()
sys . exit (app. exec_ ())
20 사용자 입력을 유도하기 위해 입력이라는 레이블을 하나 추가합니다.
22 레이블의 글자를 조절합니다.
23 사용자 입력을 받는 QLineEdit를 추가합니다.
Copy self . te_result = QTextEdit ( '' , self)
self . te_result . move ( 40 , 160 )
self . te_result . resize ( 300 , 300 )
self . te_result . setReadOnly ( True )
01 결과를 한줄식 출력하기 위해 QTextEdit 위젯을 사용했습니다.
04 사용자 입력을 막고 출력만 사용하기 위해 setReadOnly 옵션을 추가합니다.
Copy self . button = QPushButton ( '입' , self)
self . button . resize ( 160 , 50 )
self . button . move ( 30 , 550 )
self . button . clicked . connect (self.confirm)
self . button2 = QPushButton ( '초기화' , self)
self . button2 . resize ( 160 , 50 )
self . button2 . move ( 200 , 550 )
self . button2 . clicked . connect (self.reset)
01 입력 버튼을 추가합니다.
02 옆에 초기화 버튼을 추가하기 위해 크기를 조절합니다.
04 버튼 클릭 시 동작을 하기위해 이벤트를 추가합니다.
05 입력 내용을 초기화하는 버튼을 추가합니다.
Copy def confirm ( self ):
self . te_result . append (self.le_input. text ())
self . le_input . clear ()
self . te_result . repaint ()
def reset ( self ):
self . te_result . clear ()
self . te_result . repaint ()
01 사용자 입력값을 받아서 결과 출력창에 추가하기 위한 함수를 만듭니다.
02 입력창의 내용을 가져와서(self.le_input.text()) 결과 출력창에 추가합니다.
03 사용자가 입력을 편하게하기 위해 입력창을 비웁니다.
04 결과 출력창의 화면을 다시 그립니다.
05 초기화 함수를 만듭니다.
06 결과 출력창을 비웁니다.
07 결과 출력창을 다시 그립니다.