1

私はqt noobであり、次を表示する必要があるアプリケーションを構築しようとしています:

  • 電子メールのリスト (QListWidget1 左リストを使用してグリッド レイアウトの列 1 に表示しています)

  • パスワードのリスト (QListWidget2 中央リストのグリッド レイアウトの列 2 に表示します)

ここで、QListWidget2 にパスワードをコピーするボタンのリスト (リストの要素ごとに 1 つ) を表示したいと思います。

列 3 をループして、すべての行にプッシュ ボタンを追加する必要がありますか? または、これを行うより良い方法はありますか?ボタンをリストの要素に合わせて配置し、リスト内のすべてのエントリの値と簡単に関連付けることができるオブジェクトはありますか (後でコピーするため)。

私のコードは次のとおりです。

from PySide import QtCore, QtGui

class Ui_Dialog(object):
    def setupUi(self, Dialog):
    Dialog.setObjectName("Dialog")
    Dialog.resize(311, 499)
    self.gridLayoutWidget = QtGui.QWidget(Dialog)
    self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 291, 371))
    self.gridLayoutWidget.setObjectName("gridLayoutWidget")
    self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
    self.gridLayout.setContentsMargins(0, 0, 0, 0)
    self.gridLayout.setObjectName("gridLayout")
    # self.dockWidget = QtGui.QDockWidget(self.gridLayoutWidget)
    # self.dockWidget.setObjectName("dockWidget")
    # self.dockWidgetContents = QtGui.QWidget()
    # self.dockWidgetContents.setObjectName("dockWidgetContents")
    # self.dockWidget.setWidget(self.dockWidgetContents)
    # self.gridLayout.addWidget(self.dockWidget, 0, 0, 1, 1)


    self.leftList = QtGui.QListWidget(self.gridLayoutWidget)
    self.gridLayout.addWidget(self.leftList, 0, 0, 1, 1)
    self.middleList = QtGui.QListWidget(self.gridLayoutWidget)
    self.gridLayout.addWidget(self.middleList, 0, 1, 1, 1)
    self.rightList = QtGui.QListWidget(self.gridLayoutWidget)
    self.gridLayout.addWidget(self.rightList, 0, 2, 1, 1)

    self.progressBar = QtGui.QProgressBar(Dialog)
    self.progressBar.setGeometry(QtCore.QRect(10, 410, 231, 23))
    self.progressBar.setInputMethodHints(QtCore.Qt.ImhNone)
    self.progressBar.setMaximum(30)
    self.progressBar.setProperty("value", 30)
    self.progressBar.setInvertedAppearance(False)
    self.progressBar.setTextDirection(QtGui.QProgressBar.TopToBottom)
    self.progressBar.setObjectName("progressBar")
    self.label = QtGui.QLabel(Dialog)
    self.label.setGeometry(QtCore.QRect(240, 413, 51, 16))
    self.label.setObjectName("label")
    self.pushButton = QtGui.QPushButton(Dialog)
    self.pushButton.setGeometry(QtCore.QRect(10, 440, 291, 51))
    self.pushButton.setObjectName("pushButton")
    self.line = QtGui.QFrame(Dialog)
    self.line.setGeometry(QtCore.QRect(10, 390, 291, 20))
    self.line.setFrameShape(QtGui.QFrame.HLine)
    self.line.setFrameShadow(QtGui.QFrame.Sunken)
    self.line.setObjectName("line")

    self.retranslateUi(Dialog)
    QtCore.QMetaObject.connectSlotsByName(Dialog)

def retranslateUi(self, Dialog):
    Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
    self.progressBar.setFormat(QtGui.QApplication.translate("Dialog", "%vs", None, QtGui.QApplication.UnicodeUTF8))
    self.label.setText(QtGui.QApplication.translate("Dialog", "TimeOut", None, QtGui.QApplication.UnicodeUTF8))
    self.pushButton.setText(QtGui.QApplication.translate("Dialog", "Refresh", None, QtGui.QApplication.UnicodeUTF8))
4

1 に答える 1