본문 바로가기

프로그래밍/라이브러리35

로깅 라이브러리 https://softworld.tistory.com/61 - C https://github.com/gabime/spdlog - C++ https://woochan-dev.tistory.com/9 - android https://yhzion.tistory.com/10 - java https://nowonbun.tistory.com/568 - java https://python-guide-kr.readthedocs.io/ko/latest/writing/logging.htm - python 2021. 12. 6.
[PyQt] QMainWindow에서 QMenu 꺼내기 메뉴 선택에 따라 버튼이나 다른 메뉴가 enable/disable 되도록 만들고자 했다. 메뉴로 사용된 QAction 의 인스턴스에서 setEnabled() 메소드를 호출해주면 되는데 이 인스턴스를 끄집어 낼 수가 없었다. 추가한 역순으로 QMainWindow에서 menuBar() 메소드로 QMenuBar 객체를 끄집어 내고, 여기서 QMenu 객체를 끄집어 내면 될듯 했는데... QMenuBar 객체에서 QMenu 객체를 꺼낼 수가 없었다. 당연히 QAction 객체도 끄집어 낼 수 없다. 어쩔수 없이 추가할 때ㅐ 잘 보관했다가 쓰는 수 밖에.. 따라서 QMenu 객체와 QAction 객체는 클래스 전역으로 선언해야했다. QMenu에서 actionAt() 함수를 사용하면 QAction은 꺼낼 수 있는 .. 2020. 5. 8.
[PyQt] ui 추출 레이아웃에 ui를 추가하기 위해 사용하는 메소드 addWidget() / addLayout() / addSpacing() / addStretch() / addSpacerItem() 레이아웃에 추가된 ui를 가져오는 메소드 widget() / layout() / spacing() / stretch() / spacerItem() 이들 중 widget() / layout() 메소드는 itemAt(idx) 로 레이아웃으로부터 layoutitem을 먼저 추출한 후 추출된 아이템에서 호출해야한다. (idx는 add된 순서이다.) takeAt(idx) 메소드는 레이아웃에 추가된 ui를 리턴한 후 삭제한다. buttonH = QPushButton("1번 버튼") button2 = QPushButton("2번 버튼") .. 2020. 5. 6.
[PyQt] 시그널 블럭 ListWidget을 상속받은 클래스에 checkbox를 포함한 item을 넣었는데 checkbox의 체크 여부에 따라 item 텍스트의 색깔을 변경 시키고 싶었다 setStyleSheet를 쓰고 싶었으나 ListWidgetItem이 이 메소드를 지원하지 않았다. listwidget의 stylesheet를 활용하는 방법을 찾을 수 있었는데 잘 동작하지 않았다. checkbox 가 변경된 하나의 item의 색상만 변경하고 싶었지만 아무 checkbox나 변경될 때 마다 모든 item의 색상이 변경 되었다. item에 변화가 있을 경우 발생하는 itemChanged 시그널을 처리하는 슬롯을 만들어 그 안에서 setForeground() 메소드로 텍스트의 색깔을 바꾸었다. 동작은 잘 했지만 사소한 문제가 있었.. 2020. 5. 4.