用pyside6創建一個界面并實現一個小功能且能打包成問題記錄

在這里插入圖片描述
現在我們要開發一個程序,讓用戶輸入一段文本包含:員工姓名、薪資、年齡。該程序可以把薪資在 2萬 以上、以下的人員名單分別打印出來。

1用designer創建界面并生成UI文件;

2直接調用ui文件實現功能;

from PySide6.QtWidgets import QApplication, QMessageBox
from PySide6.QtUiTools import QUiLoaderuiLoader = QUiLoader()
class Stats:def __init__(self):# 從文件中加載UI定義# 從 UI 定義中動態 創建一個相應的窗口對象# 注意:里面的控件對象也成為窗口對象的屬性了# 比如 self.ui.button , self.ui.textEditself.ui = QUiLoader().load('hello.ui')self.ui.pushButton.clicked.connect(self.handleCalc)def handleCalc(self):info = self.ui.textEdit.toPlainText()salary_above_20k = ''salary_below_20k = ''for line in info.splitlines():if not line.strip():continueparts = line.split(' ')parts = [p for p in parts if p]name,salary,age = partsif int(salary) >= 20000:salary_above_20k += name + '\n'else:salary_below_20k += name + '\n'QMessageBox.about(self.ui,'統計結果',f'''薪資20000 以上的有:\n{salary_above_20k}\n薪資20000 以下的有:\n{salary_below_20k}''')app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec()

3轉為py文件調用

在pycharm中用全命令,避免配置方式導致的不能調用的問題:

C:\Users\.conda\envs\occsource\Scripts\pyside6-uic.exe hello.ui -o helloui.py
import sys
from PySide6.QtWidgets import QApplication, QWidget,QMessageBox
from helloui import Ui_Form  # 替換為你的文件名class MainWindow(QWidget):def __init__(self):super().__init__()self.ui = Ui_Form()self.ui.setupUi(self)self.ui.pushButton.clicked.connect(self.handleCalc)def handleCalc(self):info = self.ui.textEdit.toPlainText()salary_above_20k = ''salary_below_20k = ''for line in info.splitlines():if not line.strip():continueparts = line.split(' ')parts = [p for p in parts if p]name,salary,age = partsif int(salary) >= 20000:salary_above_20k += name + '\n'else:salary_below_20k += name + '\n'QMessageBox.about(self,'統計結果',f'''薪資20000 以上的有:\n{salary_above_20k}\n薪資20000 以下的有:\n{salary_below_20k}''')if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec())

4打包

需要安裝pyinstaller:
在pycharm中收縮找到pyinstaller,安裝就行;

由于沒有在環境中指定pyinstall,可以切換到控制臺,用全安裝路徑調用(記得把ui文件和生成的spec文件拷過去:

C:\Users\zhangpp-b\.conda\envs\occsource\Scripts\pyinstaller.exe 調用ui.py --noconsole

其中

–noconsole 指定不要命令行窗口,否則我們的程序運行的時候,還會多一個黑窗口。 但是我建議大家可以先去掉這個參數,等確定運行成功后,再加上參數重新制作exe。因為這個黑窗口可以顯示出程序的報錯,這樣我們容易找到問題的線索。
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70771.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70771.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70771.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機畢業設計 ——jspssm510springboot 的人職匹配推薦系統

作者:程序媛9688 開發技術:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末獲取源碼數據庫🌟 感興趣的可以先收藏起來,還有大家在畢設選題(免費咨詢指導選題)&#xf…

包子湊數——藍橋杯真題Python

包子湊數 輸入輸出樣例 示例 1 輸入 2 4 5輸出 6樣例說明 湊不出的數目包括:1, 2, 3, 6, 7, 11。 示例 2 輸入 2 4 6輸出 INF樣例說明 所有奇數都湊不出來,所以有無限多個 運行限制 最大運行時間:1s最大運行內存: 256M 最大公約數 最大公…

SSM和SpringBoot有什么區別?

SSM(Spring、Spring MVC、MyBatis)和 Spring Boot 有以下一些區別: 配置方式 SSM:配置相對繁瑣,需要在多個 XML 文件中進行大量的配置。Spring Boot:采用“約定大于配置”的原則,極大地簡化了配…

極簡Python服務器后端

在Python中,可以使用http.server模塊和json模塊來創建一個簡單的HTTP服務器,該服務器可以響應80端口上的/query POST請求,并且請求體為JSON格式。 需要注意,在Linux系統上,使用低于1024的端口(如80端口&…

文檔檢索服務平臺

文檔檢索服務平臺是基于Elasticsearch的全文檢索,包含數據采集、數據清洗、數據轉換、數據檢索等模塊。 項目地址:Github、國內Gitee 演示地址:http://silianpan.cn/gdss/ 以下是演示角色和賬號(密碼同賬號)&#xf…

關于Postman自動獲取token

在使用postman測試聯調接口時,可能每個接口都需要使用此接口生成的令牌做Authorization的Bearer Token驗證,最直接的辦法可能會是一步一步的點擊,如下圖: 在Authorization中去選擇Bearer Token,然后將獲取到的token粘貼…

清華大學DeepSeek文檔下載,清華大學deepseek下載(完成版下載)

文章目錄 前言一、清華大學DeepSeek使用手冊下載二、清華大學DeepSeek使用手冊思維導圖 前言 這是一篇關于清華大學deepseek使用手冊pdf的介紹性文章,主要介紹了DeepSeek的定義、功能、使用方法以及如何通過提示語設計優化AI性能。以下是對這些核心內容的簡要概述&…

Linux:(3)

一:Linux和Linux互傳(壓縮包) scp:Linux scp 命令用于 Linux 之間復制文件和目錄。 scp 是 secure copy 的縮寫, scp 是 linux 系統下基于 ssh 登陸進行安全的遠程文件拷貝命令。 scp 是加密的,rcp 是不加密的,scp 是…

【新人系列】Python 入門專欄合集

? 個人博客:https://blog.csdn.net/Newin2020?typeblog 📝 專欄地址:https://blog.csdn.net/newin2020/category_12801353.html 📣 專欄定位:為 0 基礎剛入門 Python 的小伙伴提供詳細的講解,也歡迎大佬們…

Arcgis 實用制圖技巧--如何制作“陰影”效果

今天給大家介紹arcgis中陰影效果的制作方法,操作很簡單,在ArcMap當中使用制圖表達和移動幾何方式就可以輕松實現。 左側地圖的圖形背景組織很差。右側地圖通過使用陰影效果突出了重點內容。今天,我將要介紹兩種陰影效果的創建方法:第一,純色陰影(single color);第二,漸變…

pandas如何在dataframe上再添加一個dataframe

在pandas中,通常將一個DataFrame與另一個DataFrame進行合并或連接操作,主要有concat函數、merge函數和join方法三種方式,以下是具體介紹: ### 使用concat函數 concat函數可以沿著指定軸將多個DataFrame連接在一起,默認…

YOLOv12 ——基于卷積神經網絡的快速推理速度與注意力機制帶來的增強性能結合

概述 實時目標檢測對于許多實際應用來說已經變得至關重要,而Ultralytics公司開發的YOLO(You Only Look Once,只看一次)系列一直是最先進的模型系列,在速度和準確性之間提供了穩健的平衡。注意力機制的低效阻礙了它們在…

OpenAI開放Deep Research權限,AI智能體大戰升級,DeepSeek與Claude迎來新對決

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

鴻蒙5.0實戰案例:基于RichEditor的評論編輯

往期推文全新看點(文中附帶全新鴻蒙5.0全棧學習筆錄) ?? 鴻蒙(HarmonyOS)北向開發知識點記錄~ ?? 鴻蒙(OpenHarmony)南向開發保姆級知識點匯總~ ?? 鴻蒙應用開發與鴻蒙系統開發哪個更有前景&#…

通過命令啟動steam的游戲

1. 啟動Steam客戶端 在命令行輸入以下命令來啟動Steam客戶端: start steam://open/main 如果Steam未安裝在默認路徑,可能需要先定位到Steam的安裝目錄,例如: cd C:\Program Files (x86)\Steam start steam://open/main 2. 通過…

RIP-AV:使用上下文感知網絡進行視網膜動脈/靜脈分割的聯合代表性實例預訓練

文章目錄 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation摘要方法實驗結果 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation …

單片機總結【GPIO/TIM/IIC/SPI/UART】

一、GPIO 1、概念 通用輸入輸出口;開發者可以根據自己的需求將其配置為輸入或輸出模式,以實現與外部設備進行數據交互、控制外部設備等功能。簡單來說,GPIO 就像是計算機或微控制器與外部世界溝通的 “橋梁”。 2、工作模式 工作模式性質特…

.gitignore 文件中添加忽略 .pdb 文件

我在項目的根目錄下創建.gitignore文件。打開.gitignore文件并添加忽略.pdb文件的規則。如下: 已經在 .gitignore 文件中添加了忽略 .pdb 文件的規則,但是提交到 Git 倉庫時仍然看到了 .pdb 文件,這通常意味著 .pdb 文件在 .gitignore 文件被…

ubuntu配置jmeter

1.前提準備 系統 ubuntu server 22.04 前提條件:服務器更新apt與安裝lrzsz:更新apt: sudo apt update安裝lrzsz: 命令行下的上傳下載文件工具 sudo apt install lrzszsudo apt install zip2.安裝jemeter 2.1.下載jdk17 輸入命令&#xf…

半導體晶圓精控:ethercat轉profient網關數據提升制造精度

數據采集系統通過網關連接離子注入機,精細控制半導體晶圓制造過程中的關鍵參數。 在半導體制造中,晶圓制造設備的精密控制是決定產品性能的關鍵因素。某半導體工廠采用耐達訊Profinet轉EtherCAT協議網關NY-PN-ECATM,將其數據采集系統與離子注…