PyQt4笔记

PyQt4

基本知识

1 入门程序

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


def test_main():
    # 创建一个application对象   sys.argv是一个命令行参数
    app = QtGui.QApplication(sys.argv)
    # 创建用户界面的父类
    widget = QtGui.QWidget()
    # 设置窗口部件的大小
    widget.resize(250, 150)
    # 设置窗口部件的标题
    widget.setWindowTitle("simple")
    # 将窗口部件显示在屏幕上
    widget.show()
    # 进入程序主循环
    sys.exit(app.exec_())


if __name__ == '__main__':
    test_main()

在这里插入图片描述

2 程序图标

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class Icon(QtGui.QWidget):
    # 调用父类的构造函数还有自己的构造函数
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        # 设置窗口在屏幕的位置x,y 设置窗口本身的大小 x y
        self.setGeometry(300, 300, 250, 150)
        # 设置窗口的标题
        self.setWindowTitle('Icon')
        # 设置窗口的图片
        self.setWindowIcon(QtGui.QIcon(u"C:\\Users\wb.duanxingcai\Desktop\学习笔记\pyqtimg\\01.png"))


def main():
    app = QtGui.QApplication(sys.argv)
    icon = Icon()
    icon.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    # main()
    test_main()

3 显示提示信息

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class Tooltip(QtGui.QWidget):
    def __init__(self, parent=None):
        # 调用父类的构造函数还有自己的构造函数
        QtGui.QWidget.__init__(self, parent)
		# 设置窗口在屏幕的位置,窗口本身的大小
        self.setGeometry(300, 300, 250, 150)
        # 设置窗口的标题
        self.setWindowTitle('Tooltip')
		# 设置工具提示,字体及大小
        self.setToolTip('this is a <b> QWidget </b> widget')
        QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))


def main():
    app = QtGui.QApplication(sys.argv)
    tool = Tooltip()
    tool.show()
    sys.exit(app.exec_())
    
if __name__ == '__main__':
    main()

在这里插入图片描述

4 关闭窗口

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class QuitButton(QtGui.QWidget):
    def __init__(self, parent=None):
        # 调用父类的构造函数还有自己的构造函数
        QtGui.QWidget.__init__(self, parent)
        # 设置窗口在屏幕的位置还有屏幕的位置
        self.setGeometry(300, 300, 250, 150)
        # 设置窗口标题
        self.setWindowTitle("quitbutton")
        # 设置按钮
        quit = QtGui.QPushButton('Close', self)
        # 按钮放在屏幕的位置
        quit.setGeometry(10, 10, 60, 35)
        # 点击关闭触发clicked()事件,将关闭信号与发送者连接起来
        self.connect(quit, QtCore.SIGNAL('clicked()'), QtGui.qApp, QtCore.SLOT('quit()'))

        

def main():
    app = QtGui.QApplication(sys.argv)
    quit = QuitButton()
    quit.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

在这里插入图片描述

5 消息窗口

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class MessageBox(QtGui.QWidget):
    def __init__(self, parent=None):
        # 调用父类的构造函数还有自己的构造函数
        QtGui.QWidget.__init__(self, parent)
        # 设置窗口在屏幕的位置,窗口自己的大小
        self.setGeometry(300, 300, 250, 150)
        # 设置窗口的标题
        self.setWindowTitle('message box')

    # 如果我们关闭QWidget窗口,QCloseEvent事件会被触发
    # 改变行为就得重写closeEvent()方法
    # 参数第一个message是提示窗口的主题,第二个参数是提示信息,后面两个参数是点击是 否
    def closeEvent(self, event):
        reply = QtGui.QMessageBox.question(self, 'Message', 'Are you sure to quit',
                                           QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
        if reply == QtGui.QMessageBox.Yes:
            # 允许关闭
            event.accept()
        else:
            # 忽略本次操作
            event.ignore()


def main():
    app = QtGui.QApplication(sys.argv)
    qb = MessageBox()
    qb.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

在这里插入图片描述

6 窗口放屏幕中间

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class Center(QtGui.QWidget):
    def __init__(self, parent=None):
        # 调用父类的构造函数还有自己的构造函数
        QtGui.QWidget.__init__(self, parent)
        # 设置窗口标题
        self.setWindowTitle("center")
        # 设置窗口大小
        self.resize(250, 150)
        self.center()

    def center(self):
        # 计算屏幕分辨率大小
        screen = QtGui.QDesktopWidget().screenGeometry()
        # 获取窗口大小
        size = self.geometry()
        # 移动窗口位置
        self.move((screen.width() - size.width()) / 2,
                  (screen.height() - size.height()) / 2)


def main():
    app = QtGui.QApplication(sys.argv)
    center = Center()
    center.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

在这里插入图片描述

7 状态栏

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/11/20 14:34 
# @Author : dxc
# @File : pyqttest.py
import sys
from PyQt4 import QtGui, QtCore


class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        # 设置窗口大小
        self.resize(250, 150)
        # 设置窗口标题
        self.setWindowTitle('statusbar')
        # 创建状态栏 并显示状态栏
        self.statusBar().showMessage('Ready')


def main():
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5是一个流行的Python GUI库,可以用于开发图形界面应用程序。关于笔记本电量的问题,PyQt5可以通过调用相关的系统API来获取电池的状态和电池电量信息。 在PyQt5中,可以使用QSystemTrayIcon类来创建系统托盘图标,并通过调用QSystemTrayIcon的相关方法实现获取电池信息并显示在托盘图标上。 首先,我们需要导入PyQt5和相关的模块: ```python from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QMenu, QAction from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt, QTimer ``` 然后,我们创建一个QApplication实例和一个QSystemTrayIcon实例: ```python app = QApplication([]) tray_icon = QSystemTrayIcon(QIcon('battery_icon.png'), app) ``` 接下来,我们定义一个函数来获取电池电量信息,并将其显示在托盘图标上: ```python def update_battery_info(): battery_info = app.primaryScreen().virtualSiblings()[0].backendObject().batteryInfo() battery_percentage = battery_info.percent() battery_status = battery_info.state() tray_icon.setToolTip(f'Battery: {battery_percentage}%, Status: {battery_status}') ``` 然后,我们创建一个定时器来定期更新电池电量信息: ```python timer = QTimer() timer.timeout.connect(update_battery_info) timer.start(10000) # 10秒更新一次 ``` 最后,我们在托盘图标上创建一个菜单,并将应用程序与托盘图标关联起来: ```python menu = QMenu() exit_action = QAction('Exit', app) exit_action.triggered.connect(app.quit) menu.addAction(exit_action) tray_icon.setContextMenu(menu) tray_icon.show() app.exec_() ``` 以上代码中的battery_icon.png是一个自定义的电池图标文件,可以根据自己的需求替换。 这样,当我们运行这段代码时,就会在系统托盘中显示一个电池图标,并且会定时更新电池电量信息。当我们单击右键时,会打开一个菜单,可以选择退出应用程序。 希望这个回答对您有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值