pyqt5 窗口居中、退出按钮、状态栏、窗口标题、水平布局、程序图标、

news2024/11/16 9:27:34

在这里插入图片描述

import sys

# QT的基类
from PyQt5.QtWidgets import QApplication

# 说明创建的是主窗体 QMainWindow
from PyQt5.QtWidgets import QMainWindow

# 添加控件:按钮、主控件(窗口)
from PyQt5.QtWidgets import QPushButton, QWidget

# 添加布局:水平布局
from PyQt5.QtWidgets import QHBoxLayout

# 获取屏幕坐标系
from PyQt5.QtWidgets import QDesktopWidget

# 显示 图标 QIcon
from PyQt5.QtGui import QIcon


class FirstMainWin(QMainWindow):
    def __init__(self):
        super(FirstMainWin, self).__init__()

        # 设置主窗口的标题
        self.setWindowTitle('第一个窗口应用')

        # 设置窗口尺寸
        self.resize(400, 300)

        # 状态栏
        self.status = self.statusBar()
        # 状态栏 定时显示
        self.status.showMessage('只存在5秒', 5000)

        # 关闭程序按钮
        # 添加按钮 Button
        self.button1 = QPushButton('退出程序')
        # 绑定 信号与槽
        self.button1.clicked.connect(self.onClick_Button)

        # 创建水平布局
        layout = QHBoxLayout()
        # 将按钮放到布局中
        layout.addWidget(self.button1)
        # 创建主控件(一个窗口)
        mainFrame = QWidget()
        # 将布局放入主控件中
        mainFrame.setLayout(layout)
        # 将主控件放入窗口上
        self.setCentralWidget(mainFrame)

    # 窗口居中功能
    def center(self):
        # 获取屏幕坐标系
        screen = QDesktopWidget().screenGeometry()
        # 获取窗口坐标系
        size = self.geometry()
        newLeft = (screen.width() - size.width()) / 2
        newTop = (screen.height() - size.height()) / 2
        # 知道了坐标位置,开始移动窗口
        self.move(int(newLeft), int(newTop))

    # 退出程序
    def onClick_Button(self):
        sender = self.sender()
        print(sender.text() + '按钮被按下')
        app = QApplication.instance()
        # 退出程序
        app.quit()


if __name__ == '__main__':
    # QT 通用第一步
    app = QApplication(sys.argv)

    # 主窗口图标
    app.setWindowIcon(QIcon('./音乐.ico'))

    # 实例化
    main = FirstMainWin()

    # 窗口居中
    main.center()

    # 显示
    main.show()
    # 主窗口循环 必要
    sys.exit(app.exec_())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/889280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ssm单位人事管理系统源码和文档

ssm单位人事管理系统源码和文档033 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳…

进程|详解~什么是进程 以及 进程创建原理和过程

1.什么是进程 进程是正在运行的程序。 UNIX标准将进程定义为:其中运行着一个或者多个线程的地址空间和这些线程所需要的系统资源(分配给线程线程共享系统资源)。 组成:进程由程序代码、数据、变量(占用着系统内存)、打开的文件(文件描述符)、环境组成…

经典文献阅读之--LIW-OAM(LiDAR-IMU-编码器融合SLAM)

0. 简介 我们之前经常接触的是使用激光雷达和惯性测量单元(IMU)的互补信息,但是实际使用的过程中IMU如果发生剧烈的颠簸,有可能会导致IMU失效。在广泛使用的迭代最近点(ICP)算法只能为姿态提供约束,而速度只能由IMU预…

Linux系统的历史记录添加时间和IP信息

1 系统history记录优化 默认情况下,系统是不会记录我们执行命令的时间等相关信息的。 1.1 HISTCONTROL 介绍 使用HISTCONTROL变量,您可以控制 bash 如何存储您的命令历史记录。您可以告诉它忽略重复的命令和/或忽略具有前导空格的命令。 在命令行工作…

亚马逊新品如何快速上首页

将亚马逊新品快速上首页是许多卖家的目标,但要注意,这涉及到多种因素,包括产品质量、市场竞争、营销策略等。以下是一些可能帮助您的亚马逊新品快速上首页的方法: 1、优化产品信息:确保您的产品标题、描述和关键词字段…

Scratch 之 如何制作鼠标框(1)—— 绘制鼠标框

hello,大家好,今天给大家带来如何绘制鼠标框 我们正式开始 首先,让我们绘制一个空角色 然后让我们来编代码 1、准备工作 (1)拓展 画笔 添加这个拓展↑ (2)变量 实际上,你只需…

Systemverilog 接口 interface modport使用说明

一、接口的定义   SystemVerilog在Verilog语言基础上扩展了“接口”(interface)结构,SystemVerilog增加了新的端口类型—接口,接口允许许多信号合成一组由一个端口表示,只需在一个地方对组成接口的信号进行声明&am…

4G无线网络草坪音箱,4G石头音箱

SV-7042UG 4G无线网络草坪音箱,4G石头音箱 一、描述 SV-7042UG是深圳锐科达电子有限公司的一款壁挂式4G无线网络草坪音箱,通过4G无线卡联网,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率40W。SV-70…

chatgpt 翻译整本英文电子书,效果非常好

1. 注册chatgpt账号,登录后设置好API token。 https://platform.openai.com/account/api-keys 一定要把生成的token先复制保存好,对话框消失后就无法看到完整token了。 2. 配置免费的cloudflare workers 代理,否则很容易被封号 参考文档 h…

【Windows系统编程】05.内存操作与InlineHook(详解InlineHook实现)

文章目录 内存相关InlineHook完整实现代码&#xff08;dll&#xff09;&#xff1a; InlineHook测试&#xff1a; 内存相关 内存信息 头文件&#xff1a;#include <Psapi.h> //检索有关系统当前使用物理内存和虚拟内存的信息MEMORYSTATUSEX mst;GlobalMemoryStatusEx…

docker 容器满了常用处理方法

docker 容器满了常用处理方法 1、运行 df -h 查看剩余磁盘占用情况 2、进入到docker目录 cd /var/lib/docker 3、运行du -h --max-depth1 &#xff08;检索文件的最大深度1&#xff0c;即只检索汇总计算当前目录下的文件&#xff09; 4、进入占用最大的 /containers文件夹&am…

pg各种条件判断语句

1.基本查询 搜索语句&#xff1a; select (distinct&#xff08;去重&#xff09;) 内容&#xff08;*代表所有&#xff09; as 别名 from 表 注释&#xff1a; -- 快速查询&#xff1a;select 内容 AS 别名 没有表一般当做计算器来用 2.条件查询 null只能用is 或者is…

7.11 Java方法重写

7.11 Java方法重写 这里首先要确定的是重写跟属性没有关系&#xff0c;重写都是方法的重写&#xff0c;与属性无关 带有关键字Static修饰的方法的重写实例 父类实例 package com.baidu.www.oop.demo05;public class B {public static void test(){System.out.println("这…

CLion 创建Qt工程

环境 CLion &#xff1a;2019.3.6 Qt &#xff1a;5.9.6&#xff08;MinGW&#xff09; Clion 配置 编译环境配置 添加Qt MinGW编译环境 添加Qt工具 创建工程 正常创建C工程 CMakeLists cmake_minimum_required(VERSION 3.8) project(QtApp)set(CMAKE_CXX_STANDARD 11)…

APB register脚本

[github repo]根据Excel表格自动生成寄存器RTL/RALF/C header的脚本 - wudayemen - 博客园 (cnblogs.com) 在芯片设计中&#xff0c;常常会使用APB总线配置每个模块的寄存器。这一部分可以使用脚本生成相应RTL代码和对应的验证所需文件比如RALF&#xff0c;和C语言的头文件&am…

【仿写tomcat】三、通过socket读取http请求信息

仿写tomcat 建立Socket连接获取连接信息查看HTTP信息 建立Socket连接 这里我们也是创建一个专门管理socket的类 package com.tomcatServer.socket;import java.io.*; import java.net.ServerSocket;/*** 套接字存储** author ez4sterben* date 2023/08/15*/ public class Soc…

电影《孤注一掷》观后感

上周看了电影《孤注一掷》&#xff0c;看完后&#xff0c;内心久久无法平静,电影影响还是听深远的的。 &#xff08;1&#xff09;情感与金钱的损失 我们每个人&#xff0c;或多或少&#xff0c;都收到过&#xff0c;诈骗类的短信或者电话&#xff0c;只要你使用的智能手机&am…

【MaxKey对接一】对接gitlab的oauth登录

MaxKey的Oauth过程 引导进入 GET http://{{maxKey_host}}/sign/authz/oauth/v20/authorize?client_idYOUR_CLIENT_ID&response_typecode&redirect_uriYOUR_REGISTERED_REDIRECT_URI 登录后回调地址 YOUR_REGISTERED_REDIRECT_URI/?code{{code}} 换取Access Token GET…

探究主成分分析方法数学原理

目录 1、简介 2、实现原理 3、实现步骤 4、公式分析 5、实例分析 6、⭐协方差矩阵补充说明 7、LaTex文本 ⭐创作不易&#xff0c;您的一键三连&#xff0c;就是支持我写作的最大动力&#xff01;&#x1f979; 关于代码如何实现&#xff0c;请看这篇文章&#xff1a;[机器…

C++ string类相关用法实例

前言&#xff1a; 1 string是表示字符串的字符串类 2 string类是basic_string模板类的一个实例&#xff0c;它使用char来实例化basic_string模板类&#xff0c;并用char_traits和allocator作为basic_string的默认参数&#xff0c;所以string在底层实际是&#xff1a;basic_str…