1 怎样设置运用和窗口的图标?
1.1 导入需求的包
-
QApplication类是PyQt5的运用程序类; -
QMainWindow类是一个主窗口类; -
QIcon类用于创立和办理图标; -
ctypes是python的一个函数库,供应和C语言兼容的数据类型,能够直接调用动态链接库中的导出函数。这个后续再说。
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QIcon
1.2 设置方法
- 运用
setWindowIcon方法设置图标;
window.setWindowIcon(QIcon('icon.png'))
1.3 完好代码
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/7
# 文件名称:test024_IconSet.py
# 效果:设置窗口和运用图标
# 联络:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QIcon
class IconSet(QMainWindow):
def __init__(self):
super(IconSet, self).__init__()
self.init_ui()
def init_ui(self):
# 设置窗口标题
self.setWindowTitle("设置窗口图标")
# 设置窗口尺度和方位
self.setGeometry(500, 300, 600, 600)
# 设置窗口图标
self.setWindowIcon(QIcon('F:pyqt_studyimagesmyiconhongbao.svg'))
if __name__ == "__main__":
app = QApplication(sys.argv)
win = IconSet()
win.show()
sys.exit(app.exec_())
1.4 实现效果
myappid = "wo de app"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
1.5 优化后的代码
- 在最初参与如下代码即可:
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QIcon
myappid = "wo de app"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
1.6 效果查看
1.7 解决图标不显现问题
- 假如设置后图标不显现,那么或许需求设置图标的途径为绝对途径;
self.setWindowIcon(QIcon('F:pyqt_studyimagesmyiconhongbao.svg'))
- 我这儿运用相对途径确实是不显现图标了:
self.setWindowIcon(QIcon('./images/myicon/hongbao.svg'))
1.8 在主程序中调用
- 另外一种设置方法是直接在主程序中设置:
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setWindowIcon(QIcon('F:pyqt_studyimagesmyicondingwei.svg'))
win = IconSet()
win.show()
sys.exit(app.exec_())
- 完好代码如下:
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/7
# 文件名称:test024_IconSet.py
# 效果:设置窗口和运用图标
# 联络:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QIcon
myappid = "wo de app"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
class IconSet(QMainWindow):
def __init__(self):
super(IconSet, self).__init__()
self.init_ui()
def init_ui(self):
# 设置窗口标题
self.setWindowTitle("设置窗口图标")
# 设置窗口尺度和方位
self.setGeometry(500, 300, 600, 600)
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setWindowIcon(QIcon('F:pyqt_studyimagesmyicondingwei.svg'))
win = IconSet()
win.show()
sys.exit(app.exec_())
2 控件的提示信息怎样设置?
- 简单说就是鼠标放在控件上,会有一个不能点击的提示信息;
2.1 导入需求的包
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolTip, QPushButton, QHBoxLayout, QWidget
from PyQt5.QtGui import QFont
from PyQt5.QtGui import QIcon
2.2 适用方法
self.setToolTip("这是一个提示信息")
2.3 实现过程
- 创立一个窗口;
- 鼠标放在窗口上有提示信息;
- 在窗口上放置一个按钮;
- 鼠标放在按钮上有提示信息。
2.4 设置字体
QToolTip.setFont(QFont("Black", 14))
2.5 添加按钮
self.b = QPushButton("按钮")
self.b.setToolTip("这是一个按钮")
lay = QHBoxLayout()
lay.addWidget(self.b)
my_f = QWidget()
my_f.setLayout(lay)
self.setCentralWidget(my_f)
2.6 完好代码
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/7
# 文件名称:test025_ToolTip.py
# 效果:控件的提示信息
# 联络:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolTip, QPushButton, QHBoxLayout, QWidget
from PyQt5.QtGui import QFont
from PyQt5.QtGui import QIcon
myappid = "wo de app"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
class ToolTip(QMainWindow):
def __init__(self):
super(ToolTip, self).__init__()
self.init_ui()
def init_ui(self):
QToolTip.setFont(QFont("Black", 14))
self.setToolTip("这是一个提示信息")
# 设置窗口标题
self.setWindowTitle("设置字体及提示")
# 设置窗口尺度和方位
self.setGeometry(500, 300, 600, 600)
# 设置窗口图标
self.setWindowIcon(QIcon('F:pyqt_studyimagesmyiconhongbao.svg'))
# 添加按钮
self.b = QPushButton("按钮")
self.b.setToolTip("这是一个按钮")
lay = QHBoxLayout()
lay.addWidget(self.b)
my_f = QWidget()
my_f.setLayout(lay)
self.setCentralWidget(my_f)
if __name__ == "__main__":
app = QApplication(sys.argv)
#app.setWindowIcon(QIcon('F:pyqt_studyimagesmyicondingwei.svg'))
win = ToolTip()
win.show()
sys.exit(app.exec_())
2.7 对应效果
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。




