pyqt5를 이용한 메인폼,라디오버튼,달력 사용예제[exam3_pyqt5] > [파이썬]기초실습예제

본문 바로가기
사이트 내 전체검색

[파이썬]기초실습예제

게시판 상단

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_1checked속성을 체크상태로 한다.

달력위젯 사용하기

위젯에서 input/dataedit를 추가하고 objectname은 각각 date_1,date_2로 변경함

텍스트 에디터 추가하기

위젯에서 input/textedit를 끌어다 놓은후 objectnametextedit_1로 수정한다.

qtdesigner로 만든 ui파일은 exam3_pyqt5.ui로 저장한다.


실행화면

5192f93ee16a84edb3781552596f0ae8_1627208566_7835.JPG
 


코드설명


#참고링크 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_()

 

 


첨부파일

댓글목록

등록된 댓글이 없습니다.

게시판 하단

회원로그인

접속자집계

오늘
6
어제
7
최대
221
전체
17,029

그누보드5
Copyright © 소유하신 도메인. All rights reserved.