import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from button import Ui_MainWindow
class MyMainWindow(QMainWindow,Ui_MainWindow): #定义继承类
def __init__(self,parent=None):
super(MyMainWindow,self).__init__(parent) #继承父类
self.setupUi(self)
self.listWidget.itemSelectionChanged.connect(self.clicked)#列表部件进行操作后触发
self.pushButton_2.clicked.connect(self.move_Down)
self.pushButton.clicked.connect(self.move_Up)
def clicked(self): #选择菜单
# items = self.listWidget.selectedItems() 有item.text()方法显示所有项
indexes = self.listWidget.selectedIndexes()
# items.sort()
output_value =[]
output_index =[]
for index in indexes:
current_index = index.row()
output_index.append(current_index)
output_index.sort()
for index in output_index:
current_index = int(index)
current_value = self.listWidget.item(current_index).text()
output_value.append(current_value)
print(output_value)
def move_Down(self):
index_new = self.listWidget.selectedIndexes()[0].row() #获取新行数值
index_new = int(index_new)
index_old = index_new + 1 #获取旧行数
value_old = self.listWidget.item(index_old).text() #获取旧内容
value_count = self.listWidget.count() #获取总内容数
if int(index_new) != value_count - 1: #限制移动超出范围
self.listWidget.takeItem(index_old) #删除置顶内容
self.listWidget.insertItem(int(index_new),value_old) #指定位置添加内容
def move_Up(self):
index_new = self.listWidget.selectedIndexes()[0].row()
index_new = int(index_new)
index_old = index_new - 1
value_old = self.listWidget.item(index_old).text()
if int(index_new) != 0:
self.listWidget.takeItem(index_old)
self.listWidget.insertItem(int(index_new),value_old)
if __name__=="__main__":
app = QApplication(sys.argv)
myWin =MyMainWindow()
myWin.show()
sys.exit(app.exec_())
主程序及界面程序。(界面程序保存时,请保存为button.py或自行修改主程序导入文件名称)
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'button.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(260, 100, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(260, 230, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.listWidget = QtWidgets.QListWidget(self.centralwidget)
self.listWidget.setGeometry(QtCore.QRect(420, 90, 256, 192))
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
self.listWidget.setObjectName("listWidget")
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
item = QtWidgets.QListWidgetItem()
self.listWidget.addItem(item)
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(260, 370, 75, 23))
self.pushButton_3.setObjectName("pushButton_3")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.pushButton_3.clicked.connect(MainWindow.close)
self.listWidget.itemSelectionChanged.connect(self.listWidget.show)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "Up"))
self.pushButton_2.setText(_translate("MainWindow", "Down"))
__sortingEnabled = self.listWidget.isSortingEnabled()
self.listWidget.setSortingEnabled(False)
item = self.listWidget.item(0)
item.setText(_translate("MainWindow", "1"))
item = self.listWidget.item(1)
item.setText(_translate("MainWindow", "2"))
item = self.listWidget.item(2)
item.setText(_translate("MainWindow", "3"))
item = self.listWidget.item(3)
item.setText(_translate("MainWindow", "4"))
item = self.listWidget.item(4)
item.setText(_translate("MainWindow", "5"))
item = self.listWidget.item(5)
item.setText(_translate("MainWindow", "6"))
item = self.listWidget.item(6)
item.setText(_translate("MainWindow", "7"))
item = self.listWidget.item(7)
item.setText(_translate("MainWindow", "8"))
item = self.listWidget.item(8)
item.setText(_translate("MainWindow", "9"))
item = self.listWidget.item(9)
item.setText(_translate("MainWindow", "0"))
self.listWidget.setSortingEnabled(__sortingEnabled)
self.pushButton_3.setText(_translate("MainWindow", "Close"))
实现图