for 루프를 사용하여 여러 개의 QLineEdits를 만들고 모든 QLineEdits에 쓰여진 모든 것을 지울 수있는 버튼을 만듭니다. 모든 QLine에 무언가를 입력하고 버튼을 클릭하면 모든 행을 지울 수 있습니다. 내 질문은 어떻게 이런 버튼 기능을 작성하는 것입니다.버튼으로 모든 입력 지우기
내 단순화 된 버전 코드입니다.
from PySide import QtGui
from PySide import QtCore
from PySide.QtCore import Signal as pyqtSignal
from PySide.QtCore import Slot as pyqtSlot
import sys
class example(QtGui.QWidget):
def __init__(self, parent= None):
super(example, self).__init__()
grid = QtGui.QGridLayout()
grid.setSpacing(10)
self.widget = QtGui.QWidget()
# set the widget as parent of its own layout
self.layout = QtGui.QGridLayout(self.widget)
for i in range(5):
line = QtGui.QLineEdit()
self.layout.addWidget(line,i,0)
btn = QtGui.QPushButton("Clear All")
self.layout.addWidget(btn,i+1,0)
btn.clicked.connect(self.all_clear)
self.scroll = QtGui.QScrollArea()
# need this so that scrollarea handles resizing
self.scroll.setWidgetResizable(True)
# these two lines may not be needed now
self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.scroll.setWidget(self.widget)
grid.addWidget(self.scroll, 3, 0)
self.setLayout(grid)
def all_clear(self):
pass
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
dialog = example()
dialog.show()
sys.exit(app.exec_())
버튼 기능을 작성하는 방법을 알지 못합니다. 누구든지 도울 수 있다면 미리 감사드립니다.
OLineEdit에 대한 참조를 목록에 저장하고 해당 목록의 각 줄 편집에 대한 단추 클릭 호출 지우기 메서드 본문에 저장할 수 있습니다. – Pratham
@Pratham, 정말 고마워요. 목록에 모든 기본값 (예 : 비어 있음)을 저장할 수 있다는 의미입니까? 그리고 지우기 단추를 누른 후에는 값이 기본값으로 설정됩니까? 가능한 경우 샘플 코드를 보여 주시겠습니까? – EricBkc