PyQt 5 设置Logo图标和Title标题的操作

从现在开始,我会把一些学习Python的笔记记录下来,方便自己,也方便别人。到时候看一下如果篇章足够,我单独把它们整理成专栏。

最近在学习Python GUI开发,之前一直都是做的C++ GUI开发,用到的大部分是框架,主要有MFC、DuiLib和Qt。哦,如果想省时省力,可以使用Qt WebEngine+H5开发界面哦,只有你Web前端基础不错的话。

使用PyQt 5开发界面,真的很方便,不用写太多代码,20行左右就可以出现简单的带图标GUI,不信你可以看看下面代码:

import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget

class Logo(QWidget):
 def __init__(self):
  super().__init__()
  self.initUI()

 def initUI(self):
  # self.setGeometry(300, 300, 300, 220)
  self.setWindowTitle('MyLogo')
  # self.move(300, 300)
  self.setWindowIcon(QIcon('Logo.png'))
  self.show()

if __name__ == "__main__":
 app = QApplication(sys.argv)
 ex = Logo()
 sys.exit(app.exec_())

Logo.png图片是这样的:

运行结果:

这是我按照教程上面写的代码,可是图标处并没有被修改为自己想要的效果,还是默认的图标。

后来我想了想,应该是图片格式的问题,一般我们使用做图标的图片格式为icon,所以我就对png格式进行转换,在线转换的网站有:

https://www.easyicon.net/covert/

http://www.bitbug.net/

转换完毕之后,就变成icon格式了,把名字修改为Logo.ico,然后扔到代码目录下面,代码修改:

self.setWindowIcon(QIcon('Logo.ico'))

再次运行:

现在就是自己想要的结果。

有时你按照教程敲代码时,可能没有出现预期的效果,那么可能是自己的一些资源出现了问题,比如我这次出现的格式问题,那么你应该多做一些项目,到时候就触类旁通了。

补充:PyQt5 QLabel改变字体和设置背景图片

使用setStyleSheet方法修改得到自己想要的字体,大小,颜色

self.lab = QLabel("标签字体大小颜色", self)
self.lab.setGeometry(50,50,300,200)
self.setStyleSheet("QLabel{color:rgb(225,22,173,255);font-size:50px;font-weight:normal;font-family:Arial;}")

color:rgb()中的四个参数,前三个是控制颜色,第四个控制透明度

font-size:设置字体大小

font-weight:bold可设置字体加粗

font-family:选择自己想要的颜色

setStyleSheet同时可以设置标签背景图片,但无法使图片与标签大小匹配

我使用QPixmap来设置标签背景图片

self.lab = QLabel('标签背景图片', self)
self.lab.setGeometry(50,50,300,200)
pixmap = QPixmap('F:\A_code\PyQT_Demo\\1.png')
self.lab.setPixmap(pixmap)

但是这个时候我们添加的背景图片依然无法和标签大小相匹配

这需要修改一下我们的实例化QPixmap部分

pixmap=QPixmap('F:\A_code\PyQT_Demo\\1.png').scaled
    (self.lab.width(), self.lab.height())

或者修改lab的属性: self.lab.setScaledContents(True)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • PyQt5 实现给无边框widget窗口添加背景图片

    我就废话不多说了,大家还是直接看代码吧~ #! /usr/bin/env python # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QPalette, QBrush, QPixmap class NoBorderWindow(QWidget): def __init__(

  • PyQt5通过信号实现MVC的示例

    众所周知MVC是个好东西.前阵子网上搜了下,但关于用PyQt5实现MVC的中文文档缺少之又少,优质的文档只搜到了一篇.既然这样,来,开个坑,学习新知识,吸引流量.话说,关于PyQt5,布局那里需要好好看看,容器类控件需要好好看看,还有多线程和自动化测试那块.但要写出完美GUI需要大量的代码经验和文档查询的能力.然后,嗯,这部分坑就填完了. 扯回正题:假设此时面临的场景是,一个软件涉及好几个页面,每个页面是单独的代码.且每个页面需要有自己的controller,最终所有的controller汇总到

  • 详解Python GUI编程之PyQt5入门到实战

    1. PyQt5基础 1.1 GUI编程学什么 大致了解你所选择的GUI库 基本的程序的结构:使用这个GUI库来运行你的GUI程序 各种控件的特性和如何使用 控件的样式 资源的加载 控件的布局 事件和信号 动画特效 界面跳转 设计工具的使用 1.2 PyQT是什么 QT是跨平台C++库的集合,它实现高级API来访问现代桌面和移动系统的许多方面.这些服务包括定位和定位服务.多媒体.NFC和蓝牙连接.基于Chromium的web浏览器以及传统的UI开发.PyQt5是Qt v5的一组完整的Python

  • PyQt5中QSpinBox计数器的实现

    QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值.在默认情况下,QSpinBox 的取值范围是 0-99,每次改变的步长值为 1. QSpinBox 类和 QDoubleSpinBox 类均派生自 QAbstractSpinBox 类.QSpinBox 用于处理整数值,QDoubleSpinBox 则用于处理浮点值,它们之间的区别就是处理数据的类型不同,其他功能都基本相同.QDoubleSpin

  • 解决PyQt5 无边框后窗口的移动问题

    由于隐藏了标题栏无法通过点击标题栏来实现窗口的移动,这时候我们可以通过鼠标事件来移动窗口 第一步:判断鼠标左键是否被按下,如果按下则将flag设为True并获取当前的位置 第二步:判断鼠标是否移动并且左键被按下,若移动了计算移动的距离在移动窗口 第三步:若鼠标释放了则将flag设为False 具体做法:重写窗口类自带的三个函数 def mousePressEvent(self, event): if event.button()==Qt.LeftButton: self.m_flag=True

  • PyQt 5 设置Logo图标和Title标题的操作

    从现在开始,我会把一些学习Python的笔记记录下来,方便自己,也方便别人.到时候看一下如果篇章足够,我单独把它们整理成专栏. 最近在学习Python GUI开发,之前一直都是做的C++ GUI开发,用到的大部分是框架,主要有MFC.DuiLib和Qt.哦,如果想省时省力,可以使用Qt WebEngine+H5开发界面哦,只有你Web前端基础不错的话. 使用PyQt 5开发界面,真的很方便,不用写太多代码,20行左右就可以出现简单的带图标GUI,不信你可以看看下面代码: import sys f

  • PHP实现的创建带logo图标二维码生成类详解

    本文实例讲述了PHP实现的创建带logo图标二维码生成类.分享给大家供大家参考,具体如下: 这里介绍php实现创建二维码类,支持设置尺寸,加入LOGO,描边.圆角.透明度,等处理.提供完整代码,演示实例及详细参数说明,方便大家学习使用. 实现功能如下: 1.创建二维码 2.加入logo到二维码中 3.logo可描边 4.logo可圆角 5.logo可设透明度 6.logo图片及输出图片类型支持png,jpg,gif格式 7.可设置输出图片质量 设定参数说明: ecc 二维码质量 L-smalle

  • Spring Boot 项目设置网站图标的方法

    正常情况下,每个网站都会有一个对应的网站图标(Favicon),在浏览器访问网站时,对应的浏览器标签上会出现对应的图标.如下图百度的图标: 对此Spring Boot项目也提供了支持,但不同版本有所区别,在最新版本中的使用,网络上大多数文章已经失效,本篇文章带大家看一下Spring Boot 2.x版本中的使用情况. Spring Boot不同版本对Favicon的支持 在早些版本中Spring Boot对Favicon进行了默认支持,并且通过如下配置进行关闭操作: spring.mvc.fav

  • Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来

    在之前的几篇文章中,介绍了业界中比较火爆的图片技术SVG(Scalable Vector Graphics),比如Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript来打造属于自己的个性化社交分享系统 ,我们可以使用svg来打造精美炫酷的分享小图标(icon),这一次我们使用python来将普通的静态的网站logo图片转换为带路径(path)的svg图片,这样就可以让网站logo能够变成动态的,作为一名不折腾不舒服斯基,一枚炫酷自带动画的网站logo自然能够满

  • vue实现路由跳转动态title标题信息

    目录 路由跳转动态title标题信息 vue动态改变title 需求 解决需求一 解决需求二 路由跳转动态title标题信息 想要让浏览器的标题,随着vue的路由跳转的改变而改变,就要配置router/index.js文件里的信息.在meta对象里面配置一个title. {     path: "/",     name: "Home",     meta: {       title: "首页"//这是重点     },     compone

  • php计算title标题相似比的方法

    本文实例讲述了php计算title标题相似比的方法.分享给大家供大家参考.具体如下: <?php /* * * @param string $title_1 题目1 * @param string $title_2 题目2 * @return float $percent 相似百分比 */ function title_similar($title_1,$title_2) { $title_1 = get_real_title($title_1); $title_2 = get_real_tit

  • Angularjs 动态改变title标题(兼容ios)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <pre name="code" class="javascript">angular.module('myApp.loginCtrl', []) .config(function($httpProvider) { $httpProvider.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded;charset

  • JS实现超简洁网页title标题跑动闪烁提示效果代码

    本文实例讲述了JS实现超简洁网页title标题跑动闪烁提示效果代码.分享给大家供大家参考,具体如下: 这里演示不几行JS代码实现的网页Title文字跑动效果,类似有消息时的标题闪烁提醒功能,在JS代码中,当变量_record累加到3是,将其赋值为1.相当于无限循环.需要显示的消息提示内容可自拟哦. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-title-blink-style-codes/ 具体代码如下: <html xmlns="

  • php实现背景图上添加圆形logo图标的方法

    本文实例讲述了php实现背景图上添加圆形logo图标的方法.分享给大家供大家参考,具体如下: 说一下步骤: 总共分 3 步: 1. 压缩logo 成固定大小的方形图片 2. 将logo 转成圆形logo 3. 将logo与背景图合并 废话不多说,直接上代码: <?php /** * 作者:friker * 开发时间:20160516 * 功能:图片处理 * */ class ImageController extends CI_Controller{ public function __cons

  • 使用vue-router设置每个页面的title方法

    基本环境配置: webpack + vue2.0 + vue-router +nodeJS 进入 router 文件夹底下的index.js文件 首先引入: import Vue from 'vue' import Router from 'vue-router' 然后在路由里面配置每个路由的地址: routes: [ { /* (首页)默认路由地址 */ path: '/', name: 'Entrance', component: Entrance, meta: { title: '首页入口

随机推荐