728x90
728x90
BIG
# 위젯 알아보기
윈도우 어플리케이션을 구현하려면 여러위젯이 들어가는데 구현하는 방법을 알아보도록 하자.
# 체크박스만들기
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 부모클래스 초기화자를 불러옴(반드시 필수사항임)
self.initWindow()
# 함수호출
def initWindow(self):
checkBox = QCheckBox('체크박스', self) #체크박스만듬
checkBox.toggle() #체크된상태로 출력
checkBox.stateChanged.connect(self.changeText) #체크박스 함수호출
self.setGeometry(100,100,300,300)
self.show()
def changeText(self, state):
if state == Qt.Checked:
#플래그가 체크된 상태
self.setWindowTitle('체크박스 체크성공~')
else:
#플래그가 체크가 안된상태
self.setWindowTitle('체크박스 체크실패..')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWindow()
sys.exit(app.exec_())
# 이벤트 루프를 만들어 주는 것임
checkBox = QCheckBox('체크박스', self)
checkBox.toggle() # 체크된 상태로 출력
checkBox.stateChanged.connect(self.changeText)
체크박스 객체를 생성후에 큐체크박스를 만들어주면
스테이트체인지해준후 커넥트해 함수를 정의해서 불러오면
잘돌아가는 것을 확인할 수 있다.
# 라디오버튼만들기
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyWindow(QWidget):
def __init__(self):
super().__init__() # 부모클래스의 초기화자 호출
self.initWindow()
def initWindow(self):
radio1 = QRadioButton('첫번째버튼', self)
radio1.move(50,50)
radio1.setChecked(True)
radio2 = QRadioButton(self)
radio2.move(50,80)
radio1.setChecked(True)
radio2.setText('두번째버튼')
self.setGeometry(100, 100, 300, 300)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWindow()
sys.exit(app.exec_())
radio1 = QRadioButton('첫번째버튼', self)
radio1.move(50,50)
radio1.setChecked(True)
q라디오버튼을써서 버튼을 만든후 실행한다
잘돌아가는것을 확인할 수 있다.
# 콤보박스 만들기
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyWindow(QWidget):
def __init__(self):
super().__init__() # 부모클래스의 초기화자 호출
self.initWindow()
def initWindow(self):
combo = QComboBox(self)
combo.addItem('사과')
combo.addItem('수박')
combo.addItem('멜론')
combo.addItem('딸기')
self.label1 = QLabel('선택', self)
self.label1.move(50,100)
combo.activated[str].connect(self.onCombo)
self.setGeometry(100, 100, 300, 300)
self.show()
def onCombo(self, text):
self.label1.setText(text) # 레이블 안에 들어오면 찍어라
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWindow()
sys.exit(app.exec_())
import sys
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyWindow(QWidget):
def __init__(self):
super().__init__() # 부모클래스의 초기화자 호출
self.initWindow()
def initWindow(self):
combo = QComboBox(self)
combo.addItem('사과')
combo.addItem('수박')
combo.addItem('멜론')
combo.addItem('딸기')
self.setGeometry(100, 100, 300, 300)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWindow()
sys.exit(app.exec_())
combo = QComboBox(self)
combo.addItem('사과')
combo.addItem('수박')
combo.addItem('멜론')
combo.addItem('딸기')
큐콤보박스를 이용해들어가고
아이템을 넣어주면
잘돌아가는것을 볼 수 있다.
combo.activated[str].connect(self.onCombo)
str방식으로 받아서 온콤보에 엮음
def onCombo(self, text):
self.label1.setText(text) # 레이블 안에 들어오면 찍어라
콤보함수를 만들어서 레이블안에 들어오면 찍는다
잘 돌아가는 것을 확인할 수 있다.
728x90
반응형
BIG
'✨Python' 카테고리의 다른 글
[Python/파이썬] 긱허브 생성하기 (0) | 2022.06.13 |
---|---|
[Python/파이썬] 파이썬으로 ui 윈도우 어플리케이션 구현하기 위젯 5 응용프로그램만들기(번역기만들기1) (0) | 2022.06.13 |
[Python/파이썬] 파이썬으로 ui 윈도우 어플리케이션 구현하기 위젯 3 툴바만들기, 날짜찍기,스타일시트만들기 (0) | 2022.06.13 |
[Python/파이썬]파이썬으로 ui 윈도우 어플리케이션 구현하기 위젯 2 상태바,메뉴바 만들기 (0) | 2022.06.13 |
[Python/파이썬]파이썬으로 ui 윈도우 어플리케이션 구현하기 위젯 1 툴팁구현하기 (0) | 2022.06.13 |
댓글