pyqt5를 이용한 메인폼,라디오버튼,달력 사용예제[exam3_pyqt5]
페이지 정보
작성자 관리자 댓글 0건 조회 244회 작성일 21-07-25 19:24본문
qtdesigner의 새로만들기에서 [main windows]를 선택한후 [생성]버튼을 클릭하여 메인폼을 만들고 속성창의 [window title]를 라디오버튼연습으로 수정한다.
라디오버튼 위젯만들기
먼저 qtdesigner 위젯에서 containers/group box를 생성한후 그 안에 라디오 버튼을 끌어다 넣는다.
라디오버튼은 여러 개중에 한 개만 선택할 때 사용하며, 여러 개의 선택항목을 선택할 경우는 체크박스 등을 사용한다
위젯에서 buttons/radio button을 추가하고 objectname은 각각 radio_1,radio_2로 변경한다
라디오버튼의 속성창에서 text부분을 각각 메뉴1,메뉴2로 수정 하고 radio_1은 checked속성을 체크상태로 한다.
달력위젯 사용하기
위젯에서 input/dataedit를 추가하고 objectname은 각각 date_1,date_2로 변경함
텍스트 에디터 추가하기
위젯에서 input/textedit를 끌어다 놓은후 objectname은 textedit_1로 수정한다.
qtdesigner로 만든 ui파일은 exam3_pyqt5.ui로 저장한다.
실행화면
코드설명
#참고링크 https://wikidocs.net/35485
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
from PyQt5.QtCore import * #날짜함수를
사용할때 필요한 패키지(라이브러리)
#UI파일 연결
#동일한 디렉토리에 exam3_pyqt5.ui파일(qtdesigner로 만든 파일)이 있어야
함
#qtdesigner에서 만든 *.ui를 사용하면 손쉽게 디자인이
가능하며 스크립트 명령어가 줄어드는 장점이 있음
#qtdesigner를 사용하지 않고 스크립트 상에서 버튼이나 체크박스 같은 컨트롤을 작성하게되면
#스크립트가 복잡해지고 버튼등의 컨트롤 위치를 100,200등의 좌표값으로 정해야 하는 불편함이 있음
form_class2 =
uic.loadUiType("exam3_pyqt5.ui")[0]
#화면을 띄우는데 사용되는 Class 선언
class WindowClass(QMainWindow, form_class2):
def __init__(self):
super().__init__()
self.setupUi(self)
self.radio_1.clicked.connect(self.f_radio)
self.radio_2.clicked.connect(self.f_radio)
self.textedit_1.setText("안녕하세요 !!") #윈도우가 실행되면 초기값을
설정한다
mydate2 = QDate.currentDate() #달력을 오늘날짜로 세팅한다
print(mydate2) #mydate2에 break point를 설정하면 디버그를 이용하여 들어있는 값을 확인할수 있습니다
self.date_1.setDate(mydate2)
self.date_2.setDate(mydate2)
def f_radio(self): #라디오버튼을
클릭하면 텍스트에디터의 내용을 변경함
ls_msg = "" #임시 텍스트 문자변수
클릭할때마다 초기화해줌
if self.radio_1.isChecked():
ls_msg = "짬뽕,짜장면"
elif self.radio_2.isChecked():
ls_msg = "간짜장,탕수육"
self.textedit_1.setText(ls_msg) #변수에 들어있는 값을
텍스트에디터에 보여줌
if __name__ == "__main__" :
app = QApplication(sys.argv)
myWindow = WindowClass() #클래스의 인스턴스 생성
myWindow.show() #화면을
보여줌
app.exec_()
첨부파일
- exam3_pyqt5.py (2.1K) 2회 다운로드 | DATE : 2021-07-25 19:24:14
- exam3_pyqt5.ui (3.0K) 3회 다운로드 | DATE : 2021-07-25 19:24:14
- 이전글웹페이지 크롤링 (requests.get,beautifulsoup사용) 예제[exam4_crawl] 21.07.27
- 다음글pyqt5를 이용한 체크박스(checkbox), 콤보박스(combo) 사용법 21.07.22
댓글목록
등록된 댓글이 없습니다.