본문 바로가기

프로그래밍 관련119

PyQt. 시그널 슬롯에 대하여 개요 Pyqt를 사용하여 프로그램이 실행되면 gui 창이 계속 떠있게 되는데 이것은 말하자면 일종의 쓰레드에 gui 객체가 계속 돌고있는 것임. 이 쓰레드에서 돌고있는 객체에게 특정한 이벤트가 발생했을때 신호를 전달하는게 '시그널'임. 슬롯은 이러한 시그널을 받았을때 발생하는 동작(Reaction)을 의미함. 가장 간단한 시그널 슬롯의 예시로 버튼 이벤트가 있음. 유저가 버튼을 클릭하는게 시그널이고, 이 버튼에 connect 시켜놓은 function이 슬롯이 된다. 위젯들은 각자 다양한 시그널들을 갖고있다. 이것은 위젯마다 각자 다른걸 갖고 있어서 여기서 일일이 설명하진 않는다. 대표적 예시를 몇가지 들자면 push button의 클릭. 테이블이나 트리에서 특정 데이터가 선택됐을때 등등 다양한 시그널들이.. 2022. 6. 15.
깃허브 사용 개요 git은 소스코드 형상관리 해주는 sw 이름 (이런 기능하는 sw들이 많은데 그 중에 대표적인게 git이다) github는 소스코드들을 올려놓는 클라우드 서비스 (이런 클라우드 서비스 종류가 많은데 대표적인게 github이다. 다른 것들도 있음) 근데 일반 클라우드 서비스처럼 단순히 파일을 올려놓기만 하는건 아니고 파일들의 형상관리가 되는 클라우드 서버이다. 그리고 git이랑 연동되서 동작이 가능하다. github 계정을 만든다. 계정에다 저장소를 만든다. 저장소는 여러개 만들 수 있다. 내컴퓨터에 설치된 깃에서 github 저장소를 clone하면, 깃허브 저장소에 업로드 된 내용들이 내 컴퓨터에 다운로드 된다. 내 컴퓨터에서 이런저런 작업들과 commit을 한다. 내가 커밋한 내용을 깃허브 저장소로 업.. 2021. 12. 19.
소스트리에 저장된 계정 업데이트 혹은 삭제 소스트리 설치 경로 디폴트 경로에 설치했다면 C:\Users\[본인컴퓨터 게정이름]\AppData\Local\Atlassian\SourceTree 폴더에서 passwd 파일을 삭제한다. 2021. 12. 18.
GitHub . git . source Tree 사용 기초 1)깃 허브 홈페이지 가서 회원가입을 한다. 2)인터넷에 source Tree라고 검색해서 자기 컴퓨터에 맞는걸로 설치한다. 3) 깃허브 홈페이지 로그인 후, 아래 화면에서 new 버튼 눌러서 새로운 저장소 만든다. 4) 만들어진 저장소의 http url을 확인하자. 5) 소스트리를 켜서, 깃허브 저장소와 연계된 저장공간을 내 컴퓨터에 만들자. 6) 위에서 클론을 생성하면, 목적지 경로로 지정된 폴더에 깃허브 저장소에 있던 파일들을 모두 다운로드 받게된다. 소스트리 활용방법을 참고하여 , 해당 폴더에 내가 원하는 파일들을 넣고 작업하고 하면서 commit을 한다. 그리고 이렇게 본인 컴퓨터에서 commit 만 하는게 아니라 해당 git hub로 업데이트를 하고싶다면 아래 그림의 Push 버튼을 누른다. .. 2021. 12. 18.
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.