Python GUI開發- PyQt5 開發小工具環境入門

前言

常見的python開發gui的庫有 Tkinter, PyQt5, wxPython等。本教程是選擇PyQt5 開發桌面小工具。

環境準備

只需pip安裝即可快速準備好開發環境

pip install pyqt5

快速開始

創建一個空的window窗口
Qapplication():每個GUI都必須包含一個Qapplication,argv表示獲取命令行參數,如果不用獲取,則可以使用[]代替。
QWidget 是所有用戶界面對象的基類,在 PyQt5 中,它是一個非常基本和強大的類,用于創建窗口、對話框、按鈕、列表等所有用戶界面元素。
show():用來顯示窗口
exit(app.exec_()):設置窗口一直運行, 點右上角關閉按鈕進行關閉

from PyQt5.Qt import QApplication, QWidget
import sysapp = QApplication(sys.argv)# 創建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)# 顯示窗口
window.show()
sys.exit(app.exec_())

運行后桌面上就會顯示一個窗口了

添加文本內容

1.只顯示基本文本

# QLabel最基本的功能是顯示文本。
label = QLabel(window)
label.setText("Hello World")

2.設置字體大小和顏色

# 設置字體和顏色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')

3.設置文本對齊
水平方向:AlignLeft、AlignRight、AlignHCenter
垂直方向:AlignTop、AlignBottom、AlignVCenter
居中:AlignCenter

label = QLabel(window)
label.setAlignment(Qt.AlignCenter)
label.setText("Hello World")
label.resize(600, 30)
# 設置字體和顏色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')

使用示例

from PyQt5.Qt import QApplication, QWidget, QPushButton, QLabel
import sys
from PyQt5.QtCore import Qtapp = QApplication(sys.argv)# 創建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)# 文本
label = QLabel(window)
label.setAlignment(Qt.AlignCenter)
label.setText("Hello World")
label.resize(600, 30)
# 設置字體和顏色
label.setStyleSheet('color: blue; font-size: 26px; font-family: Arial;')# 顯示出來
window.show()
sys.exit(app.exec_())

添加一個按鈕

給window窗口中添加一個點擊按鈕

from PyQt5.Qt import QApplication, QWidget, QPushButton
import sysapp = QApplication(sys.argv)# 創建 window 窗口
window = QWidget()
window.setWindowTitle('工具')
window.resize(600, 300)# 添加一個按鈕
button = QPushButton(window)
button.setText("運行")
button.resize(100, 30)
button.move(100, 20)
button.setStyleSheet('background-color:red')# 顯示出來
window.show()
sys.exit(app.exec_())

顯示效果

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

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

相關文章

【Linux】:文本編輯與輸出命令 輕松上手nano、echo和cat

🎥 嶼小夏 : 個人主頁 🔥個人專欄 : Linux深造日志 🌄 莫道桑榆晚,為霞尚滿天! 文章目錄 📑前言一、nano1.1 打開文件:1.2 常用快捷鍵:1.3 其他功能&#xff…

讀人工智能時代與人類未來筆記03_演變

1. 演變 1.1. 每個社會都找到了屬于自己的一套適應世界的方法 1.1.1. 適應的核心,是有關人類心智與現實之間關系的概念 1.1.2. 人類認識周圍環境的能力 1.1.2.1. 這種能力通過知識獲得,同時也受到知識…

【渲染數學-01】如何模擬靜態流(上)

文章目錄 一、說明二、摘要三、簡介四、穩定的納維-斯托克斯4.1 基本方程4.2 解決方法 一、說明 關于流體物質的仿真和模擬,需要流體理論方面的一般知識。我們這里從基本流體方程入手,詳細解釋如何實現流體仿真的每一個具體步驟。 二、摘要 構建類似流體…

C# 實現郵件推送功能

🏆作者:科技、互聯網行業優質創作者 🏆專注領域:.Net技術、軟件架構、人工智能、數字化轉型、DeveloperSharp、微服務、工業互聯網、智能制造 🏆歡迎關注我(Net數字智慧化基地),里面…

詳解pytorch中循環神經網絡(RNN、LSTM、GRU)的維度

詳解pytorch中循環神經網絡(RNN、LSTM、GRU)的維度 RNNtorch.nn.rnn詳解RNN輸入輸出維度 LSTMtorch.nn.LSTM詳解LSTM輸入輸出維度 GRUtorch.nn.GRU詳解GRU輸入輸出維度 三種RNN的示例 首先如果你對RNN、LSTM、GRU不太熟悉,可點擊查看。 RNN …

python數據可視化:層次聚類熱圖clustermap()

【小白從小學Python、C、Java】 【考研初試復試畢業設計】 【Python基礎AI數據分析】 python數據可視化: 層次聚類熱圖 clustermap() [太陽]選擇題 請問關于以下代碼表述錯誤的選項是? import seaborn as sns import matplotlib.pyplot as plt import n…

代碼隨想錄—— 填充每個節點的下一個右側節點指針(Leetcode116)

題目鏈接 層序遍歷 /* // Definition for a Node. class Node {public int val;public Node left;public Node right;public Node next;public Node() {}public Node(int _val) {val _val;}public Node(int _val, Node _left, Node _right, Node _next) {val _val;left _…

開源的全自動生成視頻文案、視頻素材、視頻字幕、視頻背景音樂的AI項目

網址 https://github.com/harry0703/MoneyPrinterTurbo 只需提供一個視頻 主題 或 關鍵詞 ,就可以全自動生成視頻文案、視頻素材、視頻字幕、視頻背景音樂,然后合成一個高清的短視頻。 如果用來做視頻,可以先收藏一下,值得本地…

51 單片機[2-1]:點亮一個LED

一、在 Keil5 中新建項目 打開 Keil5 ,點擊 Project —— new μVision Project 新建文件夾 KeilProject ,以后的項目都在這個文件夾下,再建一個文件夾 2-1 點亮一個LED。在該文件夾下創建名為 Project 的文件,并保存。推薦起這…

Python快速入門3:面向對象OOP(需要有編程基礎)

面向對象是什么: 面向對象編程(Object-Oriented Programming,OOP)是一種編程范式,它以對象為基礎,將數據和操作封裝在一起以創建可重用的代碼模塊。在面向對象編程中,對象是程序的基本單元&…

mysql實戰題目練習

1、創建和管理數據庫 創建一個名為school的數據庫。 列出所有的數據庫,并確認school數據庫已經創建。 如果school數據庫已經存在,刪除它并重新創建。 mysql> create database school; Query OK, 1 row affected (0.01 sec)mysql> mysql> sh…

Spring Boot:異常處理

Spring Boot 前言使用自定義錯誤頁面處理異常使用 ExceptionHandler 注解處理異常使用 ControllerAdvice 注解處理異常使用配置類處理異常使用自定義類處理異常 前言 在 Spring Boot 中,異常處理是一個重要的部分,可以允許開發者優雅地處理應用程序中可…

復利效應(應用于成長)

應用 每個人在智力、知識、經驗上,復利效應都一樣,只要能積累的東西,基本上最終都會產生復利效應。 再來看一下復利公式:FP*(1i)^n P本金;i利率;n持有期限。在使用時,一定要注意4個限定條件&a…

AI圖書推薦:ChatGPT等生成式AI在高等教育中的應用

自2022年11月以來,ChatGPT及其在高等教育各個層面的影響已成為所有教育對話的核心內容。Chan和Colloton所著的書籍是首批全面探討ChatGPT與生成式人工智能(GenAI)在高等教育中應用及影響的作品之一。 該書深入研究了針對專業環境定制的AI素養…

js中Array的2個容易被遺忘的函數some和array

Array.prototype.some() 和 Array.prototype.every() 是 JavaScript 中的兩個容易被遺忘的數組方法。它們都用于檢查數組中的元素是否滿足某個條件。 1. Array.prototype.some() some() 方法用于檢查數組中至少有一個元素滿足給定的條件。當找到滿足條件的元素時,…

基礎學習-Git(分布式版本控制系統)

學習視頻推薦 http://【黑馬程序員Git全套教程,完整的git項目管理工具教程,一套精通git】 https://www.bilibili.com/video/BV1MU4y1Y7h5/?p5&share_sourcecopy_web&vd_source2b85bd9be9213709642d908906c3d863 1、Git環境配置 安裝Git Git下…

wireshark_概念

ARP (Address Resolution Protocol)協議,即地址解析協議。該協議的功能就是將IP地址解析成MAC地址。 混雜模式 抓取經過網卡的所有數據包,包括發往本網卡和非發往本網卡的。 非混雜模式 只抓取目標地址是本網卡的數據包,對于發往…

《控制系統實驗與綜合設計》綜合四至六(含程序和題目)

1.電機模型辨識實驗 1.1 實驗目的 (1)掌握一階系統階躍響應的特點,通過實驗加深對直流電解模型的理解; (2)掌握系統建模過程中參數的整定,體會參數變化對系統的影響; &#xff0…

單片機開發板上外設資源講解

單片機開發電路板上簡單外設 開發板上各基礎外設LED燈按鍵:數碼管介紹液晶屏矩陣鍵盤掃描的概念LED點陣屏實時時鐘蜂鳴器存儲器 溫度傳感器&單總線 開發板上各基礎外設 LED燈 中文名:發光二極管 外文名:Light Emitting Diode 簡稱&…

楊校老師項目之基于單片機STC89C52的智能環境監測系統【嵌入式】

獲取全套資料: 有償獲取:mryang511688 技術:C語言、單片機等 摘要: 此設計可分為三個主要部分。此中的溫度和濕度的檢測功能,通過操縱單總線型溫濕度傳感器DHT11以數字形式顯示,實現了切確測得溫濕度的功能…