본문 바로가기

분류 전체보기353

GPS 모듈 NEO-6M 간단히.그리고 상세하게 알아보기 초간단 요약 1)VCC.Gnd 연결하고 Mcu의 Uart Rx 핀에 연결 (Default Badurate은 9600 bps) 2)모듈이 위성으로 부터 받은 gps 정보들을 uart로 보내줌. 3)mcu는 해당정보 rx로 받아서 적절하게 파싱해서 사용. 4)gps 신호가 위성으로부터 정상적으로 수신되면 빨긴불이 깜빡깜빡한다. 5) 실내에선 잘 안된다. 경우에 따라 창가에서도 잘 안되기도 함.근데 위성정보 수신 가능한 탁트인곳이라 할지라도.. 위성정보 처음 받을때 생각보다 많이 오래걸린다 . 밖에서 전원켜도 불 안들어오면 적어도 5~10분은 기다려보자. 난 몇분 기다려도 불 안들어오길래 처음엔 고장인줄 알았는데 한참 기다리니까 켜지더라. ——— 아두이노 GPS 모듈이라고 검색하니까 NEO-6M 이라는게 많이.. 2021. 12. 11.
PyQt gui 경고창 띄우기 Qmessagebox QMessageBox().about("창이름" ,"메세지 내용") 2021. 12. 7.
PyQt 혼자 공부 할 때 알아둬야 할 팁들 요약: 1.VsCode의 자동완성 기능 사용하자 (클래스이름,메소드이름,멤버변수 이름) 2.VSCode의 Definition 기능 활용하자 3,정확한 내용은 구글링 및 QT 라이브러리 홈페이지 참고하자 ※ QT 라이브러리 홈피 : Search Results (qt.io) 4. PyQt 의 클래스들은 대부분 상속에 상속에 상속을.. 받는 형태로 구성돼있다는 걸 참고로 알아두자. 1. VsCode를 반드시 사용하자 VsCode 없이는 PyQt 솔직히 공부 못했을 것 같다. VsCode 자동완성 기능이 매우 편리해서 이걸 꼭 활용해야 한다. 1-1) 사용하려는 클래스의 이름을 찾은 후, 에디터 상에 일단 객체를 선언해본다. 예를 들어 내가 QTableWidget 클래스와 관련된 작업을 한다고 가정하면 from.. 2021. 12. 5.
PyQt 사용시 from, import 관련 알아 둘 것 PyQt 모듈에 정의된 클래스 들을 사용하려면 from 또는 import 명령을 사용해야한다. 인터넷에 있는 PyQt 관련 자료, 교재에서 가끔씩 앞에 from, import 부분을 생략하고 소스코드를 올려주는 경우가 있어서 종종 동작이 안될때가 있으니 아래 개념을 꼭 알아두자. 예시1) QTableWidget 클래스를 사용하고 싶은 경우 해당 클래스는 QtWidgets.pyi 안에 정의가 되어있다. QTableWidget 클래스를 사용하려면 방법이 2가지가 있다. 방법1) from PyQt5.QtWidgets import * self.ta1 = QTableWidget(self) 방법2) from PyQt5 import QtWidgets self.ta1 = QtWidgets.QTableWidget(sel.. 2021. 12. 5.
PyQt QLineEdit 키보드 입력값 받기. 입력값 제한하기 (숫자만 넣기,문자만 넣기 등등) 개요 Text Edit 활성화/비활성화/읽기전용 셋팅 관련 메소드들 입력 제한 하기 QLineEdit 관련 이벤트 처리하기(텍스트 변경시 이벤트 발생 등등) 개요 마우스 클릭하면 커서 깜박 거리면서 키보드로 데이터 입력할 수 있는 창 그것을 QLineEidt라고 한다. setText(str) 메소드를 사용해서 text edit에 내용을 유저가 임의로 지정할 수도 있다. text() 메소드를 사용하면 현재 textedit에 입력된 문자열을 출력하고 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Test") self.setG.. 2021. 12. 4.
PyQt TableWidget (심화2) table pushbutton,combobox 등등 넣기 테이블의 셀에 PushButton, ComboBox,LineEdit 등등 넣기(기본) 테이블의 특정 셀에 존재하는 아이템에 접근 테이블의 셀에 PushButton 넣어서 사용하기(응용,심화) Table에 유저가 데이터 입력할 때, 입력값 제한하기 테이블의 셀에 PushButton, ComboBox,LineEdit 등등 넣기(기본) 여태까지는 셀에 문자열 데이터만 넣어봤는데 셀에다 버튼 등도 넣을 수가 있다. 아래 메소드를 사용하면 된다. def setCellWidget(self, row: int, column: int, widget: QWidget) -> None: ... 참고로, 테이블의 특정 셀에 존재하는 아이템에 접근 할 때 사용하는 메소드가 2개 있는데 def item(self, row: int,.. 2021. 12. 3.
PyQt TableWidget (심화1) Selection Mode에 대하여 현재 선택된 셀의 행번호 혹은 열번호 파악하기 특정 셀 선택해서 삭제하기(문제점 설명) 특정 셀 선택해서 삭제하기(해결책) 특정 셀의 속성 지정하기 (수정불가, 사용불가, 선택불가,drag&drop 불가 등등) (flag와 연관됨) Selection Mode에 대하여 마우스로 테이블을 선택했을 때, 선택되는 대상을 무엇으로 할지 고를 수 있다. 셀을 고르거나, 행을 고르거나, 열을 고르거나 할 수 있다. 아래 보면 이해 될거라 믿는다. def selectionBehavior(self) -> 'QAbstractItemView.SelectionBehavior': ... class SelectionBehavior(int): SelectItems = ... # type: QA.. 2021. 12. 3.
PyQt. TableWidget(기본) Table 기본 형태 생성 행 추가하기 & 추가된 행에 텍스트 채워넣기 테이블의 마지막에 행 한개씩 추가하기 테이블의 마지막에 행 1개씩 추가하기(2) 특정 셀에 접근하기. (해당 셀의 문자열 받아오기, 해당 셀의 문자열 set하기) 아무 것도 추가하지 않은 비어있는 셀에 관해 유의할 점 테이블 행 삭제 테이블 행 전부 삭제 Table 기본 형태 생성 import sys from PyQt5.QtWidgets import * class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setupUI() def setupUI(self): self.setGeometry(800, 200, 600, 300) self.ta1 = QTableWid.. 2021. 12. 3.
파이썬. 클래스 상속과 생성자에 대하여. 그리고 super에 대하여 자식 클래스에서 따로 생성자를 선언하지 않으면 자식 객체를 생성하면 자동으로 부모클래스의 생성자를 실행한다. class paraent(): def __init__(self,input1): print("부모 생성자 실행. 인풋 파라미터는") print(input1) class child(paraent): pass test_var=child("안녕") 근데 위 예시를 보면, paraent클래스의 생성자가 실행되려면 객체를 만들때 input 객체 1개가 필요하다. 따라서, test_var=child() 코드를 이렇게만 짜면 argument가 모자라다는 에러가 발생한다. 왜냐면 child 클래스는 따로 생성자를 정의하지 않았기 때문에, default로 paraent의 생성자를 호출해야하는데 paraent의 생성.. 2021. 12. 2.