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

简介: Pyside6-第一篇-创建第一个窗口

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,QApplication
app = QApplication([])
win = QWidget()
win.setWindowTitle("这是QWidget窗口")
win.show()  # 显示窗口,必不可少
app.exec()  # 运行程序,必不可少

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

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

import sys
from PySide6.QtWidgets import QWidget,QApplication
app = 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,QMainWindow
app = QApplication([])
win = QMainWindow()
win.setWindowTitle("这是QWidget窗口")
win.show()
app.exec()

QDialog

第三种

from PySide6.QtWidgets import QApplication,QDialog
app = 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 QIcon
app = QApplication([])
win = QWidget()
win.setWindowTitle("这是QWidget窗口")
win.setWindowIcon(QIcon('图标.png'))
win.show()
app.exec()

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

设置窗口大小

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

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

方法:

win.setMaximumWidth()

win.setMaximumHeight()

内容补充-setGeometry窗口位置

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

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

win.resize(width,height)

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

目录
相关文章
|
容器
Pyside6-第十三篇-布局(最后一章废话-理论篇)
Pyside6-第十三篇-布局(最后一章废话-理论篇)
1357 0
Pyside6-第四篇-QCheckBox复选框
Pyside6-第四篇-QCheckBox复选框
1485 0
Pyside6-第四篇-QCheckBox复选框
Pyside6-第八篇-QLabel文本标签
Pyside6-第八篇-QLabel文本标签
893 0
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
1738 0
Pyside6-第十篇-纯文本QPlainTextEdit
Pyside6-第十篇-纯文本QPlainTextEdit
1034 0
Pyside6-第十篇-纯文本QPlainTextEdit
|
网络协议 Python
python中socket客户端发送和接收数据
【4月更文挑战第7天】本教程聚焦TCP客户端数据发送与接收。使用Python的`socket`模块,通过`send()`发送字节串至服务器,如`client_socket.send(message_bytes)`;用`recv()`接收数据,如`received_data = client_socket.recv(buffer_size)`。异常处理确保网络错误时程序健壮性,例如`try-except`捕获`socket.error`。理解和掌握这些基础操作对于构建稳定的TCP客户端至关重要。
2812 1
|
8月前
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
900 20
Pyside6-第三篇-QToolButton一个的按钮
Pyside6-第三篇-QToolButton一个的按钮
739 0
Pyside6-第九篇-QTextEdit多行文本编辑器
Pyside6-第九篇-QTextEdit多行文本编辑器
905 0
|
Python
Python实用记录(十六):PyQt/PySide6联动VSCode便捷操作指南
本文提供了一份详细的PySide6与VSCode联动的操作指南,包括安装配置VSCode、安装必要的扩展、配置扩展以及编辑和运行PySide6项目。文中还提到了相关工具如uic.exe、rcc.exe和designer.exe的用途,并提供了进一步学习的资源。
2219 1
Python实用记录(十六):PyQt/PySide6联动VSCode便捷操作指南

热门文章

最新文章