Pyside6-第一篇-创建第一个窗口

news/2024/11/25 0:22:46/

Hi,今天起开始更新Pyside6教程了,从0-1开始更新,过程比较的久,一点点来。

今天,我们先来搭建环境。

我的环境:

pycharm 2021.3.3(版本随意,只要不是很低就行)
Python版本3.95
Pyside版本6.50

下载Pyside6:pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple

接下来导入包来看看

没啥问题的话,就没啥问题了,有问题欢迎留言。

from PySide6.QtWidgets import QWidget

接下来,我们看看第一个窗口QWidget

QWidget

from PySide6.QtWidgets import QWidget,QApplicationapp = QApplication([])win = QWidget()
win.setWindowTitle("这是QWidget窗口")win.show()  # 显示窗口,必不可少
app.exec()  # 运行程序,必不可少

这就是一个基本套路了,后续想要运行,基本上就是这么写的了。

0b9fef8ceafe72ba2c11312e80130c93.png

当然也有别的写法,例如:

import sys
from PySide6.QtWidgets import QWidget,QApplicationapp = QApplication(sys.argv)win = QWidget()
win.setWindowTitle("这是QWidget窗口")win.show()
sys.exit(app.exec())

解释一下:sys.exit(app.exec()),其中sys.exit()是Python内置的函数,用于退出程序并返回一个退出状态码,app.exec()是PySide6库的方法,用于启动Qt事件循环,等待用户交互事件的发生。这种方式可以保证程序正常退出并返回退出状态码。

QMainWindow

看看第二种窗口

from PySide6.QtWidgets import QApplication,QMainWindowapp = QApplication([])win = QMainWindow()
win.setWindowTitle("这是QWidget窗口")win.show()
app.exec()

QDialog

第三种

from PySide6.QtWidgets import QApplication,QDialogapp = QApplication([])win = QDialog()
win.setWindowTitle("这是QWidget窗口")win.show()
app.exec()

三种有什么区别??

QWidget是所有窗口部件的基类,它提供了一个基本的窗口框架,可以包含其他窗口部件。

QMainWindow是主窗口的类,通常用于创建应用程序的主窗口。

QDialog是对话框窗口的类,它通常用于与用户交互,例如提示用户输入信息或确认操作。对话框通常是模态的,即用户必须在关闭对话框之前完成任务。

如果只是写上位机工具,一般性用的最多的是QWidget以及QMainWindow

设置窗口图标

首先准备一张图,动态除外,最好png,jpg

我们需要用到另一个方法QIcon,后面也会讲到

from PySide6.QtWidgets import QWidget,QApplication
from PySide6.QtGui import QIconapp = QApplication([])win = QWidget()
win.setWindowTitle("这是QWidget窗口")
win.setWindowIcon(QIcon('图标.png'))win.show()
app.exec()
6fe4bf4b9b166c086a113c43c7b8d9a4.png

QWidget内置方法太多太多了,接下来再介绍一个,其他的后续内容中都会一一看到。

设置窗口大小

from PySide6.QtWidgets import QWidget, QApplication
from PySide6.QtGui import QIconapp = QApplication([])win = QWidget()
win.setWindowTitle("这是QWidget窗口")
win.setWindowIcon(QIcon('图标.png'))# 获取窗口大小
width = win.width()
height = win.height()
print(width, height)    # 默认640 480win.setMinimumWidth(width)  # 设置最小宽高
win.setMinimumHeight(height)win.show()
app.exec()

设置最小宽高后,最无法再继续缩小窗口宽高了,但是可以放大。如果相反设置最大宽高,那么最大也就之恶能放大那么大了。
方法:

win.setMaximumWidth()
win.setMaximumHeight()

内容补充-setGeometry窗口位置

from PySide6.QtWidgets import QWidget, QApplicationapp = QApplication([])win = QWidget()
win.setGeometry(100, 100, 500, 300)
win.setWindowTitle("这是QWidget窗口")win.show()
app.exec()

顺序是X,Y,宽,高。多改改试试就明白了。与之类似的还有个

win.resize(width,height)

也是用来设置窗口大小的。


http://www.ppmy.cn/news/97480.html

相关文章

AutoEncoder GAN

AE Auto-Encoder (AE) 是20世纪80年代晚期提出的,它是一种无监督学习算法,使用了反向传播算法,让目标值等于输入值。 是神经网络的一种,经过训练后能尝试将输入复制到输出。三层网络结构:输入- 隐层- 输出自编码网络…

对于 CRC 校验的 学习笔记

参考资料 CRC校验原理及实现 - 知乎 (zhihu.com) <-- 这个讲的特别好&#xff0c;我的博客主要是抄他的&#xff0c;最后加了一点代码库的分析。 [CRC校验]手算与直观演示_哔哩哔哩_bilibili <-- 这个视频非常直观 【FPGA】CRC校验算法从数学原理到代码实现 CRC 参数…

[创业之路-71] :创业思维与打工思维的区别

其实打工思维和创业思维最核心的本质区别是你是否愿意去尝试。 很多时候我打工的时候老板没发现我的潜质&#xff0c;所以我去创业了&#xff0c;这个没有&#xff0c;你打工的时候一定有一项极其长的长项&#xff0c;只不过当时你可能也没意识到&#xff0c;老板没意识到。 …

自学网络安全必经的三个阶段(含路线图)

一、为什么选择网络安全&#xff1f; 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入…

c# cad二次开发通过获取excel数据 在CAD绘图,将CAD属性导出到excel

c# cad二次开发通过获取excel数据 在CAD绘图&#xff0c;将CAD属性导出到excel using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Linq; us…

1688商品ID采集一件代发详情页面数据

本篇博文介绍了对1688商品详情API的二次封装&#xff0c;将URL参数封装成Python函数&#xff0c;直接传入参数即可获取搜索结果&#xff0c;例如1688商品标题、价格、一件代发、sku属性和URL等。提供了详细的代码示例和接口调用Demo。 1688.item_get-获得1688商品详情数据 1.请…

Java面试集锦

1. html与jsp区别&#xff1f; 答&#xff1a;HTML是文本标记语言&#xff0c;它是静态页面&#xff1b;JSP页面是有JSP容器执行该页面的Java代码部分然后实时生成动态页面&#xff0c;可动态更新页面上的内容。 在jsp中用<%%>就可以写Java代码了&#xff0c;而html没有…

C语言数据存储 — 整型篇

C语言数据存储 — 整型篇 前言1. 数据类型介绍1.1 类型的基本分类 2. 整型在内存中的存储2.1 原码、反码、补码2.1.1 为什么数据存放在内存中存放的是补码 2.2 大小端介绍2.2.1 什么是大小端&#xff1f;2.2.2 为什么有大端和小端&#xff1f;2.2.3 一道百度系统工程师笔试题 3…