本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
以下文章來源于海喚魚雜記客堆疊 ,作者:海喚魚雜記客堆疊
私信回復“資料”,即可免費領取Python實戰案例講解視頻
Python GUI編程:高清電影在線觀看平臺制作,全網電影免費看
https://www.bilibili.com/video/BV1tz4y1o7Yc/
案例:
利用串列的形式設計一個用戶選擇界面
工具:
- python
- PyQt5
程式運行結果如下:
(1)初始界面
(2)選擇選單項
(3)選擇多重時
設計程式如下:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(300, 300)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.listWidget = QtWidgets.QListWidget(self.centralwidget)
self.listWidget.setGeometry(QtCore.QRect(20, 10, 260, 260))
self.listWidget.setObjectName("listWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
# 設定串列可以多選
self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
# 設定選中方式為整行選中
self.listWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
# 設定以串列形式顯示資料
self.listWidget.setViewMode(QtWidgets.QListView.ListMode)
self.listWidget.setWordWrap(True)
from collections import OrderedDict # 設定自動換行
# 定義有序字典,作為List串列的資料源
dict = OrderedDict({'蒸羊羔': '998元/份',
'蒸熊掌': '998元/份',
'蒸鹿尾兒': '998元/份',
'啥訓鴨': '288/份',
'燒雛雞': '288/份',
'燒子鵝': '288元/份',
'鹵豬': '688元/份',
'鹵鴨': '188元/份',
'醬雞臘肉': '188元/份'})
for key, value in dict.items(): # 遍歷字典,并分別獲取到鍵值
self.item = QtWidgets.QListWidgetItem(self.listWidget) # 創建串列項
self.item.setText(key+': '+value) # 設定項文本
self.item.setToolTip(value) # 設定提示文字
self.listWidget.itemClicked.connect(self.gettext)
def gettext(self,item): # 自定義槽函式,獲取串列選中項的值
if item.isSelected(): # 判斷項是否選中
from PyQt5.QtWidgets import QMessageBox
QMessageBox.information(MainWindow,"提示","您選擇的是:"+item.text(),QMessageBox.Ok)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "點菜系統"))
import sys
# 主方法,程式從此處啟動PyQt設計的表單
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow() # 創建表單物件
ui = Ui_MainWindow() # 創建PyQt設計的表單物件
ui.setupUi(MainWindow) # 呼叫PyQt表單的方法對表單物件進行初始化設定
MainWindow.show() # 顯示表單
sys.exit(app.exec_()) # 程式關閉時退出行程
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/240348.html
標籤:Python
上一篇:Python之猜拳游戲
下一篇:python 生成器 & 迭代器
