Я пытаюсь создать программу, которая ищет повторяющиеся файлы и добавляет эти повторяющиеся файлы в Qt-интерфейс.Pyside - область прокрутки: моя область прокрутки не прокручивается, когда я добавляю элементы
Моя идея для поиска повторяющихся файлов и отображения этих элементов в области прокрутки.
Проблема в том, что когда я добавляю элементы в область прокрутки, элементы не остаются в пространстве, которое я планирую прокрутить.
Я попытался прочитать много учебников и помогаю, но мне не удалось сделать это работает
Ниже я положил мой код:
Чтобы сделать это быстрее, я, разрабатывающим в
__author__ = 'alvaro'
from PySide.QtGui import QWidget, QVBoxLayout, QLabel, QLineEdit, QApplication,QToolButton, QHBoxLayout,QCheckBox, QComboBox, QGridLayout,QScrollArea
from PySide.QtCore import QObject, SIGNAL
import sys
class MainDupFiles(QWidget):
def __init__(self):
super(MainDupFiles, self).__init__()
self.interface()
def interface(self):
self.setMaximumHeight(500)
self.vBoxTop = QVBoxLayout(self)
self.inputLabel = QLabel("Digite aqui o caminho de pasta que deseja verificar arquivos repetidos")
self.inputLine = QLineEdit()
self.vBoxTop.addWidget(self.inputLabel)
self.vBoxTop.addWidget(self.inputLine)
self.vBoxTop.setContentsMargins(10,10,10,0)
self.searchBtn = QToolButton()
self.searchBtn.setText("Search")
self.reportBtn = QToolButton()
self.reportBtn.setText("Generate Report")
self.deleteBtn = QToolButton()
self.deleteBtn.setText("Delete Repeated Files")
self.delAllCheckBox = QCheckBox("Delete All Files")
self.delGroupCheckBox = QCheckBox("Delete This Group")
self.groupCompoBox = QComboBox()
self.groupCompoBox.addItem("Select the File name")
self.groupCompoBox.setMinimumWidth(200)
self.hWidget = QWidget(self)
self.hBoxBtn = QHBoxLayout(self.hWidget)
self.hBoxBtn.addWidget(self.searchBtn)
self.hBoxBtn.addWidget(self.reportBtn)
self.hBoxBtn.addWidget(self.deleteBtn)
self.hBoxBtn.addWidget(self.groupCompoBox)
self.hBoxBtn.addWidget(self.delGroupCheckBox)
self.hBoxBtn.addWidget(self.delAllCheckBox)
self.vBoxTop.addWidget(self.hWidget)
QObject.connect(self.searchBtn, SIGNAL("clicked()"), self.addLines)
def addLines(self):
self.bottonWidget = QWidget()
self.outputWidget = QWidget()
self.outPutGrid = QGridLayout(self.outputWidget)
for i in range(10):
self.outPutGrid.addWidget(QLabel("TESTE"))
self.scroll = QScrollArea(self.bottonWidget)
self.scroll.setMinimumHeight(400)
self.outPutGrid.addWidget(self.bottonWidget)
self.scroll.setWidget(self.outputWidget)
self.vBoxTop.addWidget(self.scroll)
if __name__ == "__main__":
qt_app = QApplication(sys.argv)
app = MainDupFiles()
app.show()
qt_app.exec_()
Что делать, чтобы оно работало? BTW, я пробовал то же самое с кодом QtDesiner, и у меня была та же проблема.
Большое спасибо! Мой макет отлично работает! – user3808514