我们从Python开源项目中,提取了以下7个代码示例,用于说明如何使用PyQt4.QtGui.QListView()。
def setModel (self, model): """Set list model for list of recent documents.""" self.listmodel = model self.listview = QtGui.QListView() self.listview.setModel(model) self.listview.setWindowFlags(QtCore.Qt.Popup) self.listview.setFocusPolicy(QtCore.Qt.NoFocus) self.listview.setFocusProxy(self) self.listview.setMouseTracking(True) self.listview.setUniformItemSizes(True) self.listview.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.listview.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.listview.setFrameStyle(QtGui.QFrame.Box | QtGui.QFrame.Plain) self.listview.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.listview.installEventFilter(self) self.listview.clicked.connect(self.selectRecentDocument) self.listview.hide() updatefunc = lambda parent, start, end: self.updateListButton self.listmodel.rowsInserted.connect(updatefunc) self.listmodel.rowsRemoved.connect(updatefunc) self.updateListButton()
def __init__(self, parent, item_list=None): QtGui.QListView.__init__(self, parent) self.main = parent self.setEditTriggers(QtGui.QListView.NoEditTriggers) self.setMouseTracking(True) if sys.platform == 'win32': self.setWindowFlags(QtCore.Qt.FramelessWindowHint|QtCore.Qt.Tool) else: self.setWindowFlags(QtCore.Qt.FramelessWindowHint|QtCore.Qt.Tool|QtCore.Qt.ToolTip) self.model = QtGui.QStandardItemModel() self.setModel(self.model) if item_list: self.add_items(item_list) self.adjust_size() self.clicked.connect(self.selected) self.activated.connect(self.selected) self.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
def __init__(self, main): QtGui.QDialog.__init__(self, parent=None) self.main = main layout = QtGui.QGridLayout() self.setLayout(layout) self.input_lbl = QtGui.QLabel('INPUT') layout.addWidget(self.input_lbl, 0, 0, QtCore.Qt.AlignHCenter) self.input_listview = QtGui.QListView(self) self.input_listview.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.input_listview.setEditTriggers(QtGui.QListView.NoEditTriggers) layout.addWidget(self.input_listview, 1, 0) line = QtGui.QFrame() line.setFrameShape(QtGui.QFrame.VLine) layout.addWidget(line, 0, 1, 2, 1) self.output_lbl = QtGui.QLabel('OUTPUT') layout.addWidget(self.output_lbl, 0, 2, QtCore.Qt.AlignHCenter) self.output_listview = QtGui.QListView(self) self.output_listview.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.output_listview.setEditTriggers(QtGui.QListView.NoEditTriggers) layout.addWidget(self.output_listview, 1, 2) self.refresh_btn = QtGui.QPushButton('Refresh') layout.addWidget(self.refresh_btn, 2, 0, 1, 3) self.backend = self.main.backend self.input = self.main.input self.output = self.main.output self.graph = self.main.graph self.graph.graph_changed.connect(self.refresh_all) self.refresh_all() self.refresh_btn.clicked.connect(self.refresh_all) self.input_listview.doubleClicked.connect(self.port_connect_toggle) self.output_listview.doubleClicked.connect(self.port_connect_toggle) self.input_listview.customContextMenuRequested.connect(self.port_menu) self.output_listview.customContextMenuRequested.connect(self.port_menu)
def setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(400, 300) self.buttonBox = QtGui.QDialogButtonBox(Dialog) self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.pushButton = QtGui.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(190, 110, 98, 27)) self.pushButton.setObjectName(_fromUtf8("pushButton")) self.checkBox = QtGui.QCheckBox(Dialog) self.checkBox.setGeometry(QtCore.QRect(190, 200, 97, 22)) self.checkBox.setObjectName(_fromUtf8("checkBox")) self.radioButton = QtGui.QRadioButton(Dialog) self.radioButton.setGeometry(QtCore.QRect(30, 90, 116, 22)) self.radioButton.setObjectName(_fromUtf8("radioButton")) self.commandLinkButton = QtGui.QCommandLinkButton(Dialog) self.commandLinkButton.setGeometry(QtCore.QRect(10, 20, 185, 41)) self.commandLinkButton.setObjectName(_fromUtf8("commandLinkButton")) self.listView = QtGui.QListView(Dialog) self.listView.setGeometry(QtCore.QRect(40, 120, 91, 71)) self.listView.setObjectName(_fromUtf8("listView")) self.listWidget = QtGui.QListWidget(Dialog) self.listWidget.setGeometry(QtCore.QRect(30, 220, 111, 81)) self.listWidget.setObjectName(_fromUtf8("listWidget")) self.pushButton_2 = QtGui.QPushButton(Dialog) self.pushButton_2.setGeometry(QtCore.QRect(190, 60, 98, 27)) self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) self.retranslateUi(Dialog) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject) QtCore.QMetaObject.connectSlotsByName(Dialog)
def setupUi(self, TextItemEditor): TextItemEditor.setObjectName(_fromUtf8("TextItemEditor")) TextItemEditor.setWindowModality(QtCore.Qt.WindowModal) TextItemEditor.resize(500, 390) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(TextItemEditor.sizePolicy().hasHeightForWidth()) TextItemEditor.setSizePolicy(sizePolicy) TextItemEditor.setMinimumSize(QtCore.QSize(500, 300)) TextItemEditor.setSizeGripEnabled(True) TextItemEditor.setModal(True) self.verticalLayout = QtGui.QVBoxLayout(TextItemEditor) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.list_view = QtGui.QListView(TextItemEditor) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.list_view.sizePolicy().hasHeightForWidth()) self.list_view.setSizePolicy(sizePolicy) self.list_view.setAlternatingRowColors(True) self.list_view.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.list_view.setObjectName(_fromUtf8("list_view")) self.verticalLayout.addWidget(self.list_view) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.btn_add = QtGui.QPushButton(TextItemEditor) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btn_add.sizePolicy().hasHeightForWidth()) self.btn_add.setSizePolicy(sizePolicy) self.btn_add.setObjectName(_fromUtf8("btn_add")) self.horizontalLayout.addWidget(self.btn_add) self.btn_edit = QtGui.QPushButton(TextItemEditor) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btn_edit.sizePolicy().hasHeightForWidth()) self.btn_edit.setSizePolicy(sizePolicy) self.btn_edit.setObjectName(_fromUtf8("btn_edit")) self.horizontalLayout.addWidget(self.btn_edit, QtCore.Qt.AlignLeft) self.btn_delete = QtGui.QPushButton(TextItemEditor) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btn_delete.sizePolicy().hasHeightForWidth()) self.btn_delete.setSizePolicy(sizePolicy) self.btn_delete.setObjectName(_fromUtf8("btn_delete")) self.horizontalLayout.addWidget(self.btn_delete) spacerItem = QtGui.QSpacerItem(10, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(TextItemEditor) QtCore.QMetaObject.connectSlotsByName(TextItemEditor)
def __init__(self): super(FieldChoiceWidget,self).__init__() self.setSizePolicy (QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding) # FIXME TODO debug only # p = self.palette() # p.setColor(self.backgroundRole(), QtCore.Qt.red) # self.setPalette(p) # self.setAutoFillBackground(True) # make submodels - they are filled when reset() is called self.availableFields = QtGui.QStandardItemModel() self.selectedFields = QtGui.QStandardItemModel() # make subwidgets self.availableFieldsDisplay = QtGui.QListView() self.availableFieldsDisplay.setModel(self.availableFields) self.availableFieldsDisplay.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.availableFieldsDisplay.setSizePolicy(QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding) self.selectedFieldsDisplay = QtGui.QListView() self.selectedFieldsDisplay.setModel(self.selectedFields) self.selectedFieldsDisplay.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.selectedFieldsDisplay.setSizePolicy(QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding) self.addButton = QtGui.QPushButton('+') self.addButton.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Expanding) self.removeButton = QtGui.QPushButton('-') self.removeButton.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Expanding) self.upButton = QtGui.QPushButton('UP') self.upButton.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Expanding) self.downButton = QtGui.QPushButton('DOWN') self.downButton.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Expanding) # connect self.addButton.clicked.connect(self.slotAddButtonClicked) self.removeButton.clicked.connect(self.slotRemoveButtonClicked) self.upButton.clicked.connect(self.slotUpButtonClicked) self.downButton.clicked.connect(self.slotDownButtonClicked) self.selectedFieldsDisplay.selectionModel().currentChanged.connect(self.slotUpdateButtonStatus) # make layout self.layout = QtGui.QGridLayout() self.layout.addWidget(self.availableFieldsDisplay,0,0,2,1) self.layout.addWidget(self.addButton,0,1,1,1) self.layout.addWidget(self.removeButton,1,1,1,1) self.layout.addWidget(self.selectedFieldsDisplay,0,2,2,1) self.layout.addWidget(self.upButton,0,3,1,1) self.layout.addWidget(self.downButton,1,3,1,1) self.setLayout(self.layout) # update button status (should disable everything) self.updateButtonStatus() # Called when a new data collection is displayed. The data is passed in as text