pyside2(5)
-
[PySide2] TextEdit의 textChanged 이벤트를 받아 개행 문자 삭제
Example Code TextEdit에서 입력된 값이 변경될 때 마다 이벤트를 받아 개행문자가 있는지 확인하고 삭제하는 예제입니다. TextEdit에 수정된 문자열을 입력하면서도 이벤트가 발생 할 수 있기 때문에 아래와 같이 무한루프를 방지하기 위한 코드를 추가 하였습니다. from PySide2.QtWidgets import QApplication, QTextEdit, QVBoxLayout, QWidget class MyWidget(QWidget): def __init__(self): super().__init__() # 레이아웃 설정 self.layout = QVBoxLayout(self) # QTextEdit 위젯 생성 및 레이아웃에 추가 self.text_edit = QTextEdit() sel..
2024.01.26 -
[라즈베리파이] PySide2 초기 환경 설정
PySide2란 PySide2와 PyQt는 모두 Python에서 GUI 애플리케이션을 만드는 데 사용할 수 있는 크로스 플랫폼 프레임워크이다. 둘 다 Qt 프레임워크를 기반으로 하지만 다른 라이센스 하에 있다. PySide2는 Qt for Python 프로젝트의 공식 Python 모듈로 GNU Lesser General Public License(LGPL) 버전 3에 따라 라이선스가 부여됩니다. PyQt는 Qt Company에서 개발하고 상용 라이선스 하에 제공하는 독립 실행형 제품이다. PyQt는 PySide2보다 기능이 풍부하지만 상용 라이선스도 필요하다. PyQt는 또한 Qt 프레임워크의 최신 기능에 액세스할 수 있는 더 빠른 개발 환경을 제공한다. PySide2 설치 라즈베리파이에 pyside2를..
2023.06.01 -
[PyQt]QcoreApplication.processEvents()
문제 PyQt 어플리케이션을 구현 하면서, 특정 함수를 실행하면 아래와 같이 GUI 화면이 멈추거나, GUI 이벤트를 처리 하지 못해 멈추는 듯한 증상이 발생 한다. 아래 사진은 ProgressBar가 진행 될 때, 마우스를 클릭하면 화면이 멈추는 증상을 보여 준다. 해결 특정 코드가 동작하면서 PyQT의 GUI 이벤트를 처리 하지 못해 발생한 문제로 보이며, 특정 코드를 Thread 기반으로 동작하게 바꾸거나, QcoreApplication.processEvents() 함수를 Loop 안에 추가하여 문제를 해결 하였다.
2022.10.31 -
[PyQt] Label 배경색을 투명하게 만들기
Group Box 안에 Label을 배치 하였을 때, 운영체제에 따라 Group Box 배경 색과 Label 배경색이 맞지 않아 아래 그림과 같이 보이는 경우가 있다. 이를 해결하기 위해 각 Label 별 Style Sheet를 설정해서 Label 배경색의 투명도를 조절하여 해결 하였다. 아래와 같이 배경색 선택 후, 투명도를 조절하면 된다. 이런 방식 이외에 스타일시트 편집에 바로 아래와 같은 문구를 입력 할 수도 있다. background-color: rgba(255, 255, 255, 0); 최종적으로 아래와 같이 Group Box 배경색과 Label의 배경색이 이질감 없이 보이도록 설정 가능 하다.
2022.05.30 -
[라즈베리파이]PyQt로 작성한 Application 서비스 등록 및 자동 실행 설정
PyQt로 작성한 Application을 라즈베리파이의 서비스에 등록하는 방법과 자동 실행을 위한 설정 방법을 설명 한다. service 파일 ( testxStdJig.service ) 10초 주기로 확인해서 프로그램이 실행되어 있지 않다면, 프로그램을 재 시작 한다. [Unit] Description=TestxStdJig After=multi-user.target After=network-online.target [Service] Type=simple Environment=DISPLAY=:0 Environment=XAUTHORITY=/home/pi/.Xauthority WorkingDirectory=/home/pi/TestxStdJIG_V2 ExecStart=/home/pi/TestxStdJIG_V2/..
2022.05.18