Python QT 구성 요소 라 이브 러 리 qtwidgets 사용

6097 단어 PythonqtwidgetsQT
Qt 는 기 존 구성 요 소 를 많이 제공 하지만 Python 에서 PyQt 5 나 PySide 2 를 사용 하여 그래 픽 인터페이스 프로그램 을 개발 하 는 과정 에서 자신의 수요 에 따라 작은 위 젯 을 조합 하여 새로운 사용자 정의 구성 요 소 를 만 드 는 것 을 피 할 수 없습니다.
최근 주 씨 는 데스크 톱 그래 픽 인터페이스의 로그 인 암호 상 자 를 쓰 는 과정 에서 작은 사용자 정의 구성 요소 라 이브 러 리 를 발견 했다.
현재 암호 입력 상자 구성 요소,그 라 데 이 션 구성 요소,이퀄 라이저 구성 요소,팔레트 구성 요 소 를 제공 합 니 다.

설치 하 다.
pip 도 구 를 직접 사용 하여 설치 하면 됩 니 다.명령 은 다음 과 같 습 니 다.

pip install qtwidgets
암호 입력 상자
PyQt 5 와 PySide 2 에서 저 희 는 보통 QLine Edit()위 젯 을 사용 합 니 다.EchoMode 속성 을 설정 하여 입력 한 텍스트 에 명문 이 아 닌 별 번 호 를 표시 합 니 다.코드 는 다음 과 같 습 니 다.

# encoding:utf-8

from PySide2 import QtWidgets
import sys


class Widget(QtWidgets.QWidget):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("    -zmister.com")
  self.pwd_input = QtWidgets.QLineEdit(self)
  self.pwd_input.setEchoMode(QtWidgets.QLineEdit.Password)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()
실행 후의 효 과 는 다음 과 같다.

현대 로그 인 인터페이스 에서 기본적으로 비밀 번 호 를 입력 한 다음 단 추 를 통 해 사용자 가 입력 한 비밀 번 호 를 볼 수 있 도록 하 는 것 은 흔 한 기능 이다.
QLine Edit()구성 요 소 를 기반 으로 확장 하려 면 많은 시간 과 코드 가 필요 합 니 다.qtwidgets 모듈 을 빌 리 면 우 리 는 바퀴 를 조금 덜 만 들 수 있 습 니 다.

from PySide2 import QtWidgets
from qtwidgets import PasswordEdit
import sys


class Widget(QtWidgets.QMainWindow):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("    -zmister.com")
  # self.pwd_input = QtWidgets.QLineEdit(self)
  self.pwd_input = PasswordEdit()
  self.setCentralWidget(self.pwd_input)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()
qtwidgets 가 제공 하 는 암호 입력 상자 의 효 과 를 보십시오:

암호 입력 상 자 를 제외 하고 qtwidgets 는 몇 개의 확장 구성 요 소 를 제공 합 니 다.
그 라 데 이 션 모듈
그 라 데 이 션 구성 요소 Gradient()는 응용 프로그램의 선형 그 라 데 이 션 을 디자인 하 는 데 편리 한 인터페이스 를 제공 합 니 다.대상 의 인 스 턴 스 만 만 들 면 새로운 그 라 데 이 터 를 만 들 수 있 습 니 다.

from PySide2 import QtWidgets
from qtwidgets import PasswordEdit,Gradient
import sys


class Widget(QtWidgets.QMainWindow):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("    -zmister.com")
  self.gradient = Gradient()
  self.setCentralWidget(self.gradient)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()

기본 그 라 데 이 션 색상 은 검은색 에서 흰색 입 니 다.정지 점 은 빨간색 상 자 를 사용 하여 표 시 를 합 니 다.인 볼 류 트 구성 요 소 를 만 든 후에 우 리 는 그래 픽 인터페이스 에서 편집 할 수 있 습 니 다.
4.567917.그 라 데 이 터 를 두 번 클릭 하면 태그 점 을 추가 할 수 있 고 그 색 은 오른쪽 색 과 일치 합 니 다4.567917.태그 점 을 드래그 하면 그 라 데 이 션 의 범위 와 위 치 를 바 꿀 수 있 습 니 다4.567917.새 태그 점 을 오른쪽 클릭 하면 태그 점 의 색 을 편집 할 수 있 습 니 다
  • 새 태그 점 을 더 블 클릭 하면 이 태그 점 을 삭제 할 수 있 습 니 다
  • 다음은 우리 가 시범 을 보 여 드 리 겠 습 니 다.

    팔레트
    qtwidgets 는 세 가지 팔레트 를 제공 합 니 다.각각:
    수평 팔레트 Horizontal수직 팔레트 수직
  • 격자 팔레트 팔레트 그리드
  • 이 세 개의 팔레트 는 배열 방식 이 다른 것 을 제외 하고 다른 사용 방법 은 모두 같 습 니 다.모두 색상 목록 파 라 메 터 를 받 아들 이거 나 미리 설 치 된 몇 개의 색상 족 은 selected 선택 신 호 를 지원 합 니 다.다음 에 보 여 드 리 겠 습 니 다.
    
    from PySide2 import QtWidgets
    from qtwidgets import PasswordEdit,Gradient,PaletteGrid,PaletteHorizontal,PaletteVertical
    import sys
    
    
    class Widget(QtWidgets.QMainWindow):
     def __init__(self):
      super().__init__()
      self.setWindowTitle("    -zmister.com")
      self.palette_1 = PaletteGrid('category10')
      self.palette_2 = PaletteHorizontal('17undertones')
      self.palette_3 = PaletteVertical(['#000003', '#160B39', '#410967', '#6A176E', '#932567', '#BA3655', '#DC5039', '#F2751A', '#FBA40A', '#F6D542', '#FCFEA4'])
      self.palette_1.selected.connect(self.selected_color)
      self.label = QtWidgets.QLabel("   :")
      self.widget = QtWidgets.QWidget()
      self.widget_layout = QtWidgets.QVBoxLayout()
      self.widget.setLayout(self.widget_layout)
      self.widget_layout.addWidget(self.palette_1)
      self.widget_layout.addWidget(self.palette_2)
      self.widget_layout.addWidget(self.palette_3)
      self.widget_layout.addWidget(self.label)
      self.setCentralWidget(self.widget)
    
     def selected_color(self,value):
      self.label.setText("   :{}".format(value))
    
    def main():
     app = QtWidgets.QApplication(sys.argv)
     gui = Widget()
     gui.show()
     sys.exit(app.exec_())
    
    if __name__ == '__main__':
     main()
    실행 효 과 는:

    마지막.
    동적 시각 화 출력 주파수 변화 에 사용 되 는 이퀄 라이저 구성 요소 도 있 습 니 다.여기 서 는 보 여주 지 않 고 관심 있 는 파트너 가 직접 시도 해 볼 수 있 습 니 다.

    그 밖 에 모든 구성 요소 도 Qt 기 존 구성 요 소 를 기반 으로 한 패 키 징 입 니 다.여력 이 있 는 파트너 는 Qt 각 네 이 티 브 구성 요소 에 대한 이 해 를 강화 하기 위해 소스 코드 를 확인 할 수 있 습 니 다.
      글 판권 소유:주의 선생 블 로그전재 출처 및 원문 링크 유지
      주소
    이상 은 Python QT 구성 요소 라 이브 러 리 qtwidgets 의 사용 에 대한 상세 한 내용 입 니 다.Python qtwidgets 라 이브 러 리 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기