初识QT第一天

news2024/12/23 18:01:39

思维导图

利用Qt尝试做出原神登陆界面

import sys
from PyQt6.QtGui import QIcon, QPixmap, QMovie
from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QLineEdit


# 封装原神窗口类
class Genshin(QWidget):
    # 构造函数
    def __init__(self):
        # 初始化父类
        super().__init__()

        # 设置窗口标题
        self.setWindowTitle("原神")

        # 设置窗口图标
        self.setWindowIcon(QIcon("F:\\picture\\gan.png"))

        # 重新设置大小
        self.resize(1290,850)

        # 固定窗口大小
        self.setFixedSize(1290,850)

        # 创建第一个标签背景
        lab1 = QLabel(self)
        lab1.resize(1290,850)
        lab1.setStyleSheet("background-color:white")
        mv = QMovie("F:\\picture\\lh.gif")
        lab1.setMovie(mv)
        mv.start()
        # 设置自动适应
        lab1.setScaledContents(True)

        # 创建第二个标签中心块
        lab2 = QLabel()
        lab2.setParent(self)
        lab2.resize(400,300)
        lab2.move(445,275)
        lab2.setStyleSheet("background-color:white; border-radius:20px")

        # 创建三个标签 米哈游
        lab3 = QLabel(self)
        lab3.resize(150,50)
        lab3.move(570,285)
        lab3.setPixmap(QPixmap("F:\\picture\\mhy.png"))
        lab3.setScaledContents(True)

        # 创建第四个标签 密码图标
        lab4 = QLabel(self)
        lab4.resize(25, 25)
        lab4.move(555, 415)
        lab4.setPixmap(QPixmap("F:\\picture\\suo.png"))
        lab4.setScaledContents(True)

        # 创建第五个标签 账号图标
        lab5 = QLabel(self)
        lab5.resize(25, 25)
        lab5.move(555, 360)
        lab5.setPixmap(QPixmap("F:\\picture\\ren.png"))
        lab5.setScaledContents(True)

        # 创建第六个标签 用户协议
        lab6 = QLabel("同意《用户协议》和《隐私政策》",self)
        lab6.resize(300,20)
        lab6.move(550,480)






        # 创建第一个按钮  登录关闭
        btn1 = QPushButton("",self)
        # 移动
        btn1.move(810,290)
        # 设置图标
        btn1.setIcon(QIcon("F:\\picture\\cha.png"))
        # 设置背景颜色
        btn1.setStyleSheet("background-color:white;border-radius:1px")
        btn1.setEnabled(True)

        # 创建第二个按钮 进入游戏
        btn2 = QPushButton("进入游戏",self)
        btn2.move(545,510)
        btn2.resize(200,50)
        btn2.setStyleSheet("background-color:black;border-radius:15px;color:yellow")
        btn2.setEnabled(True)

        # 创建第三个按钮 立即注册
        btn3 = QPushButton("立即注册", self)
        btn3.move(545, 455)
        btn3.resize(50, 20)
        btn3.setStyleSheet("background-color:white;border-radius:15px;color:black")
        btn3.setEnabled(True)

        # 创建第四个按钮 忘记密码
        btn4 = QPushButton("忘记密码", self)
        btn4.move(695, 455)
        btn4.resize(50, 20)
        btn4.setStyleSheet("background-color:white;border-radius:15px;color:black")
        btn4.setEnabled(True)

        # 创建第五个按钮  勾选协议
        btn5 = QPushButton("", self)
        # 移动
        btn5.move(520, 480)
        # 设置图标
        btn5.setIcon(QIcon("F:\\picture\\yuan.png"))
        # 设置背景颜色
        btn5.setStyleSheet("background-color:white;border-radius:1px")
        btn5.setEnabled(True)

        # 创建第一个行编辑器  账号
        edit1 = QLineEdit(self)
        edit1.move(585,365)
        # 设置占位
        edit1.setPlaceholderText("输入手机号/邮箱")

        # 创建第二个行编辑器  密码
        edit2 = QLineEdit(self)
        edit2.move(585,420)
        # 设置回显
        edit2.setEchoMode(QLineEdit.EchoMode.Password)
        # 设置占位
        edit2.setPlaceholderText("输入密码")






if __name__ == "__main__":
    app = QApplication(sys.argv)

    genshin = Genshin()

    genshin.show()

    sys.exit(app.exec())

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

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

相关文章

【Linux】线程池设计 + 策略模式

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 线程池 1-1 ⽇志与策略模式1-2 线程池设计1-3 线程安全的单例模式1-3-1 什么是单例模式1-3-2 单例模式的特点1-3-3 饿汉实现⽅式和懒汉实现⽅式1-3-4 饿汉…

vim插件管理器vim-plug替代vim-bundle

文章目录 vim-plug与vim-bundle对比vim-plug安装vim-plug管理安装插件相关文章 vim-plug与vim-bundle对比 vim-plug 和 vim-bundle 都是 Vim 的插件管理器,但它们有一些关键的区别。以下是两者的主要对比: 易用性和简洁性 vim-plug: 易用性: vim-plug …

107.【C语言】数据结构之二叉树求总节点和第K层节点的个数

目录 1.求二叉树总的节点的个数 1.容易想到的方法 代码 缺陷 思考:能否在TreeSize函数内定义静态变量解决size的问题呢? 其他写法 运行结果 2.最好的方法:分而治之 代码 运行结果 2.求二叉树第K层节点的个数 错误代码 运行结果 修正 运行结果 其他写法 1.求二…

【代码随想录day48】【C++复健】739. 每日温度;496.下一个更大元素 I;503.下一个更大元素II

739. 每日温度 一顿操作猛如虎&#xff0c;一看击败5%。一眼顶针&#xff0c;鉴定为在存栈的时候把值和下标一起存了&#xff0c;所以导致了问题。 class Solution { public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<vector<…

vscode + conda + qt联合开发

安装vscode 安装conda 清华大学开源软件镜像(Anaconda下载)_清华大学镜像-CSDN博客 conda create新建一个环境&#xff0c;激活这个环境&#xff0c;然后安装pyside6 pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功后输入 pip list查看是否安装…

第十一篇 绘图matplotlib.pyplot的使用

文章目录 摘要安装方法入门案例使用plt绘图使用ax绘图plt.figure参数plot参数案例一 绘制红色实心的点状图案例二 绘制红色的破折线图案例三 绘制两条线颜色总结设置标题、轴名称、图例使用plt实现绘图使用ax实现绘图legend()中loc设置刻度plt自定义刻度ax自定义刻度plt.title …

Unity-Particle System属性介绍(一)基本属性

什么是ParticleSystem 粒子系统是Unity中用于模拟大量粒子的行为的组件。每个粒子都有一个生命周期&#xff0c;包括出生、运动、颜色变化、大小变化和死亡等。粒子系统可以用来创建烟雾、火焰、水、雨、雪、尘埃、闪电和其他各种视觉效果。 开始 在项目文件下创建一个Vfx文件…

计算机的错误计算(一百七十二)

摘要 探讨 MATLAB 对于算式 的计算误差。 例1. 在 MATLAB 中计算 的值。 直接贴图吧&#xff1a; 这样&#xff0c;MATLAB 的输出中只有3位正确数字&#xff0c;有效数字的错误率为 (16-3)/16 81.25% . 因为16位的正确输出为 0.2971242332737277e-18&#xff08;ISReals…

Flink四大基石之CheckPoint(检查点) 的使用详解

目录 一、Checkpoint 剖析 State 与 Checkpoint 概念区分 设置 Checkpoint 实战 执行代码所需的服务与遇到的问题 二、重启策略解读 重启策略意义 代码示例与效果展示 三、SavePoint 与 Checkpoint 异同 操作步骤详解 四、总结 在大数据流式处理领域&#xff0c;Ap…

S4 UPA of AA :新资产会计概览

通用并行会计&#xff08;Universal Parallel Accounting&#xff09;可以支持每个独立的分类账与其他模块集成&#xff0c;UPA主要是为了支持平行评估、多货币类型、财务合并、多准则财务报告的复杂业务需求 在ML层面UPA允许根据不同的分类账规则对物料进行评估&#xff0c;并…

Vue3学习宝典

1.ref函数调用的方式生成响应式数据&#xff0c;可以传复杂和简单数据类型 <script setup> // reactive接收一个对象类型的数据 import { reactive } from vue;// ref用函数调用的方式生成响应式数据&#xff0c;可以传复杂和简单数据类型 import { ref } from vue // 简…

Linux——基础命令(2) 文件内容操作

目录 ​编辑 文件内容操作 1.Vim &#xff08;1&#xff09;移动光标 &#xff08;2&#xff09;复制 &#xff08;3&#xff09;剪切 &#xff08;4&#xff09;删除 &#xff08;5&#xff09;粘贴 &#xff08;6&#xff09;替换,撤销,查找 &#xff08;7&#xff…

openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)

年初写过一篇openwrt在校园网环境下开启ipv6 nat的文章&#xff0c;利用ip6tables控制ipv6的流量。然而从OpenWrt22版本开始&#xff0c;系统内置的防火墙变为nftables&#xff0c;因此配置方法有所改变。本文主要参考了OpenWRT使用nftables实现IPv6 NAT 这篇文章。 友情提示 …

go语言的成神之路-筑基篇-gin框架渲染模板

第一节-gin框架渲染模板 因为电脑打不开了&#xff0c;所以用朋友的电脑来写的&#xff0c;也是体验了一次从零开始用vscode配置环境&#xff0c;忙活了一上午才配置好环境。太难配置了。好了废话不多说开始今天的进修之旅。 今天开始gin框架的正式学习希望大家认真观看并检查…

【软考网工笔记】网络基础理论——网络层

文章目录 中断处理过程数据包组装RIPRSVPipv4RIPv1 & RIPv2HFC 混合光纤同轴电缆&#xff08;Hybrid Fiber Coax&#xff0c;简称HFC&#xff09;BGP (边界网关协议)BGP-4 协议的四种报文ICMP 协议数字语音电子邮件协议MPLS 多协议标记交换ipv6DHCPDNS名称解析过程查询顺序…

linux网络抓包工具

linux网络抓包工具 一、tcpdump1.1 基本用法1.2 龙芯平台实例操作 二、wireshark2.1 主要功能2.2 龙芯平台实例操作 一、tcpdump tcpdump 指令可列出经过指定网络界面的数据包文件头&#xff0c;可以将网络中传送的数据包的 “头” 完全截获下来提供分析。它支持针对网络层、协…

NaviveUI框架的使用 ——安装与引入(图标安装与引入)

文章目录 概述安装直接引入引入图标样式库 概述 &#x1f349;Naive UI 是一个轻量、现代化且易于使用的 Vue 3 UI 组件库&#xff0c;它提供了一组简洁、易用且功能强大的组件&#xff0c;旨在为开发者提供更高效的开发体验&#xff0c;特别是对于构建现代化的 web 应用程序。…

WPF DataGrid 列隐藏

Window节点加上下面的 <Window.Resources><FrameworkElement x:Key"ProxyElement" DataContext"{Binding}" /></Window.Resources>然后随便加一个隐藏控件 <ContentControl Content"{StaticResource ProxyElement}" Visi…

【Gitlab】CICD使用minio作为分布式缓存

1、安装minio 下载适合自己系统版本的安装文件https://dl.min.io/server/minio/release/windows-amd64/ yum install xxx.rpm 2、配置/etc/profile export MINIO_ACCESS_KEYroot [ui登录账号] export MINIO_SECRET_KEYminioDev001 [ui登录密码] export MINIO_OPTS"…

用到动态库的程序运行过程

当我们写好了一段代码然后编译运行后会生成可执行文件&#xff0c;该文件会存在磁盘的当前目录下&#xff0c;而当我们开始运行这段程序时&#xff0c;操作系统&#xff08;加载器&#xff09;需要将其从磁盘加载进内存然后执行相关操作&#xff0c;而对于用到动态库的程序&…