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 设置方法
window.setWindowIcon(QIcon('icon.png'))
1.3 完好代码
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_())
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 完好代码
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)
win = ToolTip()
win.show()
sys.exit(app.exec_())
2.7 对应效果
- 按钮提示:
- 窗口提示: