파이썬의 위젯에서 변수 목록에 항목 추가

조커 마티니

간단히 말해서 내가 한 일은 textEdit 필드를 포함하는 사용자 정의 위젯을 만드는 것입니다. 사용자 정의 위젯을 FormWidget이라고합니다.

이 사용자 정의 (FormWidget)는 다른 위젯 내에서 여러 번 사용됩니다. 텍스트 필드의 값을 '가져 와서'특정 변수에 추가하는 방법이 궁금합니다.

이 위젯을 여러 번 인스턴스화 할 계획이고 각 텍스트 필드가 다른 변수에 해당하기 때문에 FormWidget 위젯 자체에서 변수를 직접 추가하고 싶지 않습니다.

여기에 이미지 설명 입력

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
Info goes here...
"""

import sys
from PySide import QtGui, QtCore

# Variables
# ------------------------------------------------------------------------------
namesList = []

# custom name widget
# ------------------------------------------------------------------------------
class FormWidget(QtGui.QWidget):

    def __init__(self, title=None):
        super(FormWidget, self).__init__()

        self.initUI()
        if title!=None:
            self.listLabel.setText(title)

    def initUI(self): 

        # formatting 
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle("Input List")

        # widgets
        self.listLabel = QtGui.QLabel("Label")
        self.nameInput = QtGui.QLineEdit()

        # signals
        self.nameInput.returnPressed.connect(self.pressed_return)

        # layout
        self.mainLayout = QtGui.QVBoxLayout(self)
        self.mainLayout.addWidget(self.listLabel)
        self.mainLayout.addWidget(self.nameInput)
        self.show()

    def pressed_return(self):
        txt = self.nameInput.text()
        txt = txt.strip()
        txt = txt.replace (" ", "_")
        self.nameInput.clear()


# Main widget
# ------------------------------------------------------------------------------
class TeamsWidget(QtGui.QWidget):

    def __init__(self):
        super(TeamsWidget, self).__init__()

        self.initUI()

    def initUI(self): 

        # formatting 
        self.setGeometry(300, 300, 250, 50)
        self.setWindowTitle("Names")

        # widgets
        self.formWidget = FormWidget("Names")
        self.btn = QtGui.QPushButton("Print")

        # signals
        self.btn.clicked.connect(self.printNames)

        # layout
        self.mainLayout = QtGui.QHBoxLayout(self)
        self.mainLayout.addWidget(self.formWidget)
        self.mainLayout.addWidget(self.btn)
        self.show()

    def printNames(self):
        print "Printing Names..."
        for n in namesList:
            print n


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    ex = TeamsWidget()
    sys.exit(app.exec_())
블렌 티드

FormWidget의 값 목록을 유지하고 returnPressed에 저장하십시오. 그런 다음 FormWidget에 getValue () 메서드를 추가하여 값 목록을 반환합니다. 또한 값을 초기화하고 지우는 clear () 메서드를 추가했습니다. 이것은 FormWidget의 init에서 호출됩니다.

아래 전체 코드 :

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
Info goes here...
'''

import sys
from PySide import QtGui, QtCore

# Variables
# ------------------------------------------------------------------------------
namesList = []

# custom name widget
# ------------------------------------------------------------------------------
class FormWidget(QtGui.QWidget):

    def __init__(self, title=None):
        super(FormWidget, self).__init__()

        self.clear()

        self.initUI()
        if title!=None:
            self.listLabel.setText(title)

    def initUI(self):

        # formatting
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Input List')

        # widgets
        self.listLabel = QtGui.QLabel('Label')
        self.nameInput = QtGui.QLineEdit()

        # signals
        self.nameInput.returnPressed.connect(self.returnPressed)

        # layout
        self.mainLayout = QtGui.QVBoxLayout(self)
        self.mainLayout.addWidget(self.listLabel)
        self.mainLayout.addWidget(self.nameInput)
        self.show()

    def returnPressed(self):
        text = self.nameInput.text()
        text = text.strip()
        text = text.replace (' ', '_')
        self.value.append(text)
        self.nameInput.clear()

    def getValue(self):
        return self.value

    def clear(self):
        self.value = []


# Main widget
# ------------------------------------------------------------------------------
class TeamsWidget(QtGui.QWidget):

    def __init__(self):
        super(TeamsWidget, self).__init__()

        self.initUI()

    def initUI(self):

        # formatting
        self.setGeometry(300, 300, 250, 50)
        self.setWindowTitle('Names')

        # widgets
        self.formWidget = FormWidget('Names')
        self.btn = QtGui.QPushButton('Print')

        # signals
        self.btn.clicked.connect(self.printNames)

        # layout
        self.mainLayout = QtGui.QHBoxLayout(self)
        self.mainLayout.addWidget(self.formWidget)
        self.mainLayout.addWidget(self.btn)
        self.show()

    def printNames(self):
        print 'Printing Names...'
        for name in self.formWidget.getValue():
            print name


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    ex = TeamsWidget()
    sys.exit(app.exec_())

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬의 중첩 목록에 변수를 추가하는 방법

분류에서Dev

파이썬 목록의 특정 항목에 정수를 추가 하시겠습니까?

분류에서Dev

파이썬에서 둘 이상의 변수를 포함하는 항목 목록

분류에서Dev

조건에 따라 파이썬 목록의 각 항목에 문자열 추가

분류에서Dev

목록의 사전에 항목 추가

분류에서Dev

ReactJS의 목록에 항목 추가

분류에서Dev

Sharepoint 목록 수정 된 항목에 아이콘 추가

분류에서Dev

Tkinter 항목 위젯의 루프에서 StringVar 변수 생성

분류에서Dev

파이썬의 전역 목록에 목록 추가

분류에서Dev

파이썬에서 목록의 가변성

분류에서Dev

Python에서 목록의 모든 하위 목록에 항목 추가

분류에서Dev

Lisp의 목록에 변수 값 목록 추가

분류에서Dev

Python의 목록 내 목록에 여러 변수 추가

분류에서Dev

두 개의 개별 목록에서 항목 수를 추가하는 수식

분류에서Dev

한 목록의 두 항목을 Python의 새 목록에 추가

분류에서Dev

Tkinter에서 항목 위젯의 값을 가져올 수 없습니다.

분류에서Dev

파이썬에서 순서가 잘못된 목록 항목

분류에서Dev

목록에 추가 한 후 목록 항목이 사라짐

분류에서Dev

python-파일 목록에서 항목의 N 항목 추출

분류에서Dev

목록 목록에서 목록의 첫 번째 항목 수집

분류에서Dev

파이썬 : 목록에서 항목을 평가하는 방법

분류에서Dev

파이썬 목록에 공백 추가

분류에서Dev

사전 목록에 추가-파이썬

분류에서Dev

파이썬 목록에 새 값 추가

분류에서Dev

목록에 파이썬 사전 추가

분류에서Dev

파이썬 목록에 추가

분류에서Dev

파이썬에서 목록의 항목을 문자열에 추가하는 방법

분류에서Dev

파이썬에서 dict의 특정 키 항목으로 하나의 목록을 추가하는 방법

분류에서Dev

내부에 두 개의 항목이있는 한 항목에 두 개의 목록 항목을 추가하려면 어떻게해야합니까? (파이썬)

Related 관련 기사

  1. 1

    파이썬의 중첩 목록에 변수를 추가하는 방법

  2. 2

    파이썬 목록의 특정 항목에 정수를 추가 하시겠습니까?

  3. 3

    파이썬에서 둘 이상의 변수를 포함하는 항목 목록

  4. 4

    조건에 따라 파이썬 목록의 각 항목에 문자열 추가

  5. 5

    목록의 사전에 항목 추가

  6. 6

    ReactJS의 목록에 항목 추가

  7. 7

    Sharepoint 목록 수정 된 항목에 아이콘 추가

  8. 8

    Tkinter 항목 위젯의 루프에서 StringVar 변수 생성

  9. 9

    파이썬의 전역 목록에 목록 추가

  10. 10

    파이썬에서 목록의 가변성

  11. 11

    Python에서 목록의 모든 하위 목록에 항목 추가

  12. 12

    Lisp의 목록에 변수 값 목록 추가

  13. 13

    Python의 목록 내 목록에 여러 변수 추가

  14. 14

    두 개의 개별 목록에서 항목 수를 추가하는 수식

  15. 15

    한 목록의 두 항목을 Python의 새 목록에 추가

  16. 16

    Tkinter에서 항목 위젯의 값을 가져올 수 없습니다.

  17. 17

    파이썬에서 순서가 잘못된 목록 항목

  18. 18

    목록에 추가 한 후 목록 항목이 사라짐

  19. 19

    python-파일 목록에서 항목의 N 항목 추출

  20. 20

    목록 목록에서 목록의 첫 번째 항목 수집

  21. 21

    파이썬 : 목록에서 항목을 평가하는 방법

  22. 22

    파이썬 목록에 공백 추가

  23. 23

    사전 목록에 추가-파이썬

  24. 24

    파이썬 목록에 새 값 추가

  25. 25

    목록에 파이썬 사전 추가

  26. 26

    파이썬 목록에 추가

  27. 27

    파이썬에서 목록의 항목을 문자열에 추가하는 방법

  28. 28

    파이썬에서 dict의 특정 키 항목으로 하나의 목록을 추가하는 방법

  29. 29

    내부에 두 개의 항목이있는 한 항목에 두 개의 목록 항목을 추가하려면 어떻게해야합니까? (파이썬)

뜨겁다태그

보관