python制作好看的界面_Python-PyQt5如何制作出来好看的界面②

本文通过Python的PyQt5库展示了如何创建美观的应用程序界面,利用高斯模糊背景和免费图标资源提升界面视觉效果。详细介绍了设置按钮样式、使用CSS实现阴影效果等技巧,并提供了代码示例。强调简洁设计,减少冗余按钮,以增强用户体验。加入作者的QQ群获取更多资源和帮助。
摘要由CSDN通过智能技术生成

源码 +资源在qq群:2076966127

这个是我更新这个系列的第二期,现在看看几个月之前画的UI我真想吐了。好丑啊~~~~~

现在我再一些大型的 图标网站找到了很多好看简介免费的图标~~

https://www.flaticon.com

这个就很不错~

还是先准备好你的QtDesigner这个原本是为了C++准备GUI编辑器但是现在Python社区的小伙伴们就研发出来了.UI代码转成Py代码。实际上我看了.UI文件其实里面就是html语言,也就是说python的这个可以支持css里面的任何写法~

下面,就让我们开始今天的教程~~~

咱们先找好素材·-·

先给你们看看效果~

cc9d46b8ecc9

image.png

cc9d46b8ecc9

image.png

cc9d46b8ecc9

image.png

界面主要运用了高斯模糊的图片作为背景,让界面感觉非常的清新,干净。

然后就是寻找素材,我按钮上面这些图标还有这些图片我都是从这个网站找的: https://www.flaticon.com/

这个上面的图标真的非常不错,最重要还是免费的~

这次我的界面按钮用的主要的css样式是这样的:

QPushButton{

background:#6C6C6C;

color:white;

box-shadow: 1px 1px 3px rgba(0,0,0,0.3);font-size:16px;border-radius: 14px;font-family: 微软雅黑;

}

QPushButton:hover{

background:#9D9D9D;

}

QPushButton:pressed{

border: 1px solid #3C3C3C!important;

}

让人感觉比较舒服~

但是实际上你的按钮越少你写的软件操作九月自动化,所以我还是不建议使用过多的按钮。精良把你的软件写的自动化一些。

下面就是代码:

import sys, os

if hasattr(sys, 'frozen'):

os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

import tkinter.messagebox, requests, winreg

import subprocess, time

from PyQt5 import QtWidgets

from PyQt5.QtWidgets import QMessageBox

from PyQt5.QtCore import *

from PyQt5 import QtCore

from PyQt5 import QtGui

class Login(QtWidgets.QMainWindow):

def __init__(self):

super().__init__()

self.init_ui()

def init_ui(self):

self.setFixedSize(920,557)

self.setWindowFlags(Qt.FramelessWindowHint) # 去边框

self.setAttribute(Qt.WA_TranslucentBackground) # 设置窗口背景透明

self.setStyleSheet("font-family:微软雅黑;")

self.centralwidget = QtWidgets.QWidget(self)

self.centralwidget.setObjectName("centralwidget")

self.pushButton_12 = QtWidgets.QPushButton(self.centralwidget)

self.pushButton_12.setGeometry(QtCore.QRect(890, 20, 21, 21))

self.pushButton_12.setStyleSheet("QPushButton{\n"

" background:#CE0000;\n"

" color:white;\n"

" box-shadow: 1px 1px 3px rgba(0,0,0,0.3);font-size:16px;border-radius: 10px;font-family: 微软雅黑;\n"

"}\n"

"QPushButton:hover{ \n"

" background:#FF2D2D;\n"

"}\n"

"QPushButton:pressed{\n"

" border: 1px solid #3C3C3C!important;\n"

" background:#AE0000;\n"

"}")

self.pushButton_12.setText("")

self.pushButton_12.setObjectName("pushButton_12")

self.pushButton_11 = QtWidgets.QPushButton(self.centralwidget)

self.pushButton_11.setGeometry(QtCore.QRect(850, 20, 21, 21))

self.pushButton_11.setStyleSheet("QPushButton{\n"

" background:#6C6C6C;\n"

" color:white;\n"

" box-shadow: 1px 1px 3px rgba(0,0,0,0.3);font-size:16px;border-radius: 10px;font-family: 微软雅黑;\n"

"}\n"

"QPushButton:hover{ \n"

" background:#9D9D9D;\n"

"}\n"

"QPushButton:pressed{\n"

" border: 1px solid #3C3C3C!important;\n"

"}")

self.pushButton_11.setText("")

self.pushButton_11.setObjectName("pushButton_11")

self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)

self.tabWidget.setGeometry(QtCore.QRect(-2, -30, 931, 591))

self.tabWidget.setObjectName("tabWidget")

self.tab = QtWidgets.QWidget()

self.tab.setObjectName("tab")

self.label_33 = QtWidgets.QLabel(self.tab)

self.label_33.setGeometry(QtCore.QRect(280, 90, 591, 141))

self.label_33.setText("")

self.label_33.setPixmap(QtGui.QPixmap("res/gsmw.jpg"))

self.label_33.setScaledContents(False)

self.label_33.setObjectName("label_33")

self.label_34 = QtWidgets.QLabel(self.tab)

self.label_34.setGeometry(QtCore.QRect(300, 89, 101, 31))

self.label_34.setLayoutDirection(QtCore.Qt.LeftToRight)

self.label_34.setObjectName("label_34")

self.label_35 = QtWidgets.QLabel(self.tab)

self.label_35.setEnabled(True)

self.label_35.setGeometry(QtCore.QRect(300, 129, 541, 101))

self.label_35.setMouseTracking(True)

self.label_35.setTabletTracking(False)

self.label_35.setAcceptDrops(False)

self.label_35.setLayoutDirection(QtCore.Qt.LeftToRight)

self.label_35.setAutoFillBackground(False)

self.label_35.setInputMethodHints(QtCore.Qt.ImhNone)

self.label_35.setScaledContents(True)

self.label_35.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)

self.label_35.setWordWrap(True)

self.label_35.setOpenExternalLinks(False)

self.label_35.setObjectName("label_35")

self.label_36 = QtWidgets.QLabel(self.tab)

self.label_36.setGeometry(QtCore.QRect(-2, 0, 931, 561))

self.label_36.setText("")

self.label_36.setPixmap(QtGui.QPixmap("res/demo_blur.png"))

self.label_36.setScaledContents(True)

self.label_36.setWordWrap(False)

self.label_36.setObjectName("label_36")

self.label_37 = QtWidgets.QLabel(self.tab)

self.label_37.setGeometry(QtCore.QRect(230, 480, 691, 81))

self.label_37.setText("")

self.label_37.setPixmap(QtGui.QPixmap("res/Gray.png"))

self.label_37.setScaledContents(True)

self.label_37.setObjectName("label_37")

self.pushButton_33 = QtWidgets.QPushButton(self.tab)

self.pushButton_33.setGeometry(QtCore.QRect(510, 490, 51, 51))

self.pushButton_33.setStyleSheet("QPushButton{\n"

" background:#6C6C6C;\n"

" color:white;\n"

" box-shadow: 1px 1px 3px rgba(0,0,0,0.3);font-size:24px;border-radius: 24px;font-family: 微软雅黑;\n"

"}\n"

"QPushButton:hover{ \n"

" background:#9D9D9D;\n"

"}\n"

"QPushButton:pressed{\n"

" background:gray;\n"

"}")

self.pushButton_33.setText("")

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("res/interface.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton_33.setIcon(icon)

self.pushButton_33.setIconSize(QtCore.QSize(51, 51))

self.pushButton_33.setObjectName("pushButton_33")

self.pushButton_34 = QtWidgets.QPushButton(self.tab)

self.pushButton_34.setGeometry(QtCore.QRect(460, 500, 31, 31))

self.pushButton_34.setStyleSheet("QPushButton{\n"

" background:#6C6C6C;\n"

" color:white;\n"

" box-shadow: 1px 1px 3px rgba(0,0,0,0.3);font-size:24px;border-radius: 24px;font-family: 微软雅黑;\n"

"}\n"

"QPushButton:hover{ \n"



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值