PyQt——窗口

embedded/2025/2/28 13:03:29/

PyQt的窗口简介

        在PyQt中,窗口(Window)是用户界面的核心组件,通常由QWidget或其子类(如 QMainWindow , QDialog 等)实现。窗口是用户与应用程序交互的主要界面,可以包含各种控件(如按钮,标签,输入框)和布局。


QWidget

        控件和窗口的父类 ,自由度高(什么都东西都没有),没有划分菜单、工具栏、状态栏、主窗口 等区域。

import  sysfrom PyQt5.QtWidgets import QWidget, QLabel , QApplicationclass mywnd(QWidget):def __init__(self):super(mywnd, self).__init__()self.initUI()def initUI(self):label = QLabel("这是文字~~" )label.setStyleSheet("font-size:30px;color:red")label.setParent(self)if __name__ == '__main__':app = QApplication(sys.argv)w = mywnd()#设置窗口标题w.setWindowTitle("qwidget")# 展示窗口w.show()# 程序进行循环等待状态app.exec()

输出结果:


QMainWindow

        QMainWindow是 QWidget的子类,包含菜单栏,工具栏,状态栏,标题栏等,中间部分则为主窗口区域。

import sysfrom PyQt5.QtWidgets import QMainWindow, QLabel, QApplicationclass MyWindow(QMainWindow):def __init__(self):super().__init__()self.init_ui()def init_ui(self):label = QLabel("这是文字~~")label.setStyleSheet("font-size:30px;color:red")# 调用父类中的menuBar,从而对菜单栏进行操作menu = self.menuBar()# 如果是Mac的话,菜单栏不会在Window中显示而是屏幕顶部系统菜单栏位置# 下面这一行代码使得Mac也按照Windows的那种方式在Window中显示Menumenu.setNativeMenuBar(False)file_menu = menu.addMenu("文件")file_menu.addAction("新建")file_menu.addAction("打开")file_menu.addAction("保存")edit_menu = menu.addMenu("编辑")edit_menu.addAction("复制")edit_menu.addAction("粘贴")edit_menu.addAction("剪切")# 设置中心内容显示self.setCentralWidget(label)if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()# 设置窗口标题w.setWindowTitle("我是窗口标题....")# 展示窗口w.show()# 程序进行循环等待状态app.exec()

输出结果:


QDialog

 对话框窗口的基类。不过对话框一般不应该作为主窗口的存在,而是通过点击操作弹出,起到提示作用。

import sysfrom PyQt5.QtWidgets import QDialog, QPushButton, QApplicationclass MyDialog(QDialog):def __init__(self):super().__init__()self.init_ui()def init_ui(self):ok_btn = QPushButton("确定", self)ok_btn.setGeometry(50, 50, 100, 30)if __name__ == '__main__':app = QApplication(sys.argv)w = MyDialog()# 设置窗口标题w.setWindowTitle("对话框")# 展示窗口w.show()# 程序进行循环等待状态app.exec()

输出结果:


http://www.ppmy.cn/embedded/168798.html

相关文章

Python毕业设计选题:基于协同过滤算法的儿童图书推荐系统_django

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 图书分类管理 儿童图书管理 热销图书管理 公告…

计算机操作系统​OPT、FIFO、LRU​ 页面替换算法

以下是 OPT、FIFO、LRU 页面替换算法的核心规则总结与对比: 一、OPT(Optimal Replacement,最佳置换算法) 1. 核心规则 淘汰未来最长时间不会被访问的页面,或永远不再被访问的页面。需要预知完整的页面访问序列&#…

Spring Boot集成Jetty、Tomcat或Undertow及支持HTTP/2协议

目录 一、常用Web服务器 1、Tomcat 2、Jetty 3、Undertow 二、什么是HTTP/2协议 1、定义 2、特性 3、优点 4、与HTTP/1.1的区别 三、集成Web服务器并开启HTTP/2协议 1、生成证书 2、新建springboot项目 3、集成Web服务器 3.1 集成Tomcat 3.2 集成Jetty 3.3 集成…

Python解决“比赛配对”问题

Python解决“比赛配对”问题 问题描述测试样例解决思路代码 问题描述 小R正在组织一个比赛,比赛中有 n 支队伍参赛。比赛遵循以下独特的赛制: 如果当前队伍数为 偶数,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,…

【ISP】畸变校正 LDC

ISP(Image Signal Processor,图像信号处理器)中的 LDC(Lens Distortion Correction,镜头畸变校正)是一种用于校正镜头畸变的图像处理技术。镜头畸变是由于镜头的光学特性导致的图像失真现象,主要…

用数组实现树的存储遍历【复习笔记】

1. 树的基本概念 1.1 树的定义和术语 树是由 n(n≥0)个有限节点组成的一个具有层次关系的集合。当 n0 时,称为空树。在一棵非空树中,有且仅有一个特定的节点称为根节点;其余节点可分为 m 个互不相交的有限集 T1、T2、…

期权帮|国内期权交易投资人做卖出期权价差交易收取的保证金是单边的还是双向的?

锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 国内期权交易投资人做卖出期权价差交易收取的保证金是单边的还是双向的? 在国内期权交易中,投资人做卖出期权价差交易时收取的保证金通常是单边的,但具…

DeepSeek系统架构的逐层分类拆解分析,从底层基础设施到用户端分发全链路

一、底层基础设施层 1. 硬件服务器集群 算力单元: GPU集群:基于NVIDIA H800/H100 GPU构建,单集群规模超10,000卡,采用NVLink全互联架构实现低延迟通信。国产化支持:适配海光DCU、寒武纪MLU等国产芯片,通过…