PyQt5的笔记(上)

目录

1.显示一个窗口

1.1 面向过程版本代码 

1.2 设置成模板

1.3 面向对象版本的代码

2.控件效果展示图

2.1 按钮的展示效果图 

2.1.1 QPushButton

2.1.2 QCommandLinkButton

​2.1.3 QRadioButton(单选框)

2.1.4 QCheckBox(复选框):

2.2 输入控件的效果展示图 

2.2.1 QLineEdit

2.2.2 QTextEdit 

2.2.3 QPlainTextEdit

2.2.4 QkeySequenceEdit

2.2.5 QDataTimeEdit

2.2.6 QSpinBox

2.2.7 QDoubleSpinBox

2.2.8 QComboBox和QFontComboBox组合框

2.2.9 滑块(QAbstractSlider)(鼠标)

2.2.10 橡皮筋选中QRubberBand

2.2.11 (颜色、文件、字体、输入)对话框 

2.2.12 日期控件:QCalenderWidget

2.3 展示控件

2.3.1 QLabel 

2.3.2 QLCDNumber 

2.3.3 QProgressBar进度条

2.3.4 对话框QDialog

2.4 容器控件

2.4.1 QToolBox 

2.4.2 QDialogButtonBox

2.4.3 QGroupBox

2.4.4 QMidArea和QMdisubWindow

2.5 结构控件

2.5.1 QMainWindow中QMenuBar、QToolBar、QStatusBar

2.5.2  QTabwidget中QTabBar

2.5.3 QStackedWidget

2.5.4 QSplitter

2.5.5 QDockWidget

2.6 滚动控件

2.6.1 QTextBrowser 

2.6.2 QScrollArea

2.6.3 QAbstractItemView中的QColumnView、QHeaderView、QListView、QTableView、QTreeView

2.6.4 QMdiArea

2.6.5 QGraphicsView

2.7 辅助控件

2.7.1 QFocusFrame

2.7.2 QSizeGrip

2.7.3 QDesktopWidget

2.8 其他控件

2.8.1 向导/打印(QDialog) 

2.8.2 欢迎页面QSplashScreen

2.8.3 功能性控件QVideoWidget和QWebEngineView


1.显示一个窗口

1.1 面向过程版本代码 

 代码:

from PyQt5.Qt import *
import sys

app=QApplication(sys.argv)

window=QWidget()
window.setWindowTitle('梦之城')
window.resize(500,500)
window.move(400,200)

label=QLabel(window)
label.setText('Hello World!)
label.move(200,200)

window.show()

sys.exit(app.exec_())

运行结果:

 

代码说明:

#0.导入需要的包和模块
from PyQt5.Qt import *#主要包含了我们常用的一些类
import sys

#sys.argv:当别人通过命令行启动这个程序的时候,可以设定一种功能(接收命令行传递的参数,来执行不同的业务逻辑
#1.创建一个应用程序
app=QApplication(sys.argv)

#2.控件的操作(创建控件,设置控件大小、位置、样式,事件,信号的处理...)
#2.1 创建一个窗口
"""当我们创建一个控件之后,如果说,这个控件没有父控件,
则把它当作是顶层控件(窗口),系统会自动给这个窗口添加一些装饰(标题栏),
窗口控件具备一些特性(设置标题、图标)"""
window=QWidget()
#设置窗口标题
window.setWindowTitle('梦之城')
#设置窗口大小
window.resize(500,500)
#设置窗口位置
window.move(400,200)

#2.2 设置控件
#控件也可以作为一个容器(承载其他的控件)
#设置一个标签,展示在窗口内部
label=QLabel(window)#注意传参window,否则label不会出现在窗口上
#设置标签里的内容
label.setText('Hello World!')
#设置位置
label.move(200,200)


#2.3 展示窗口
#刚创建好一个控件后,(这个控件没有什么父控件),默认情况下不会被展示,只有手动show一下
#如果这个控件,有父控件的,那么一般情况下,父控件展示后,子控件会自动展示
window.show()

#3.应用程序的执行,进入到消息循环(无限循环),否则窗口就会show一次之后消失
#检测到整个程序所接收到的用户的交互信息
sys.exit(app.exec_())#退出码,0表示正常退出(自动结束或用户手动关闭),非0表示异常退出

1.2 设置成模板

粘贴的代码: 

#0.导入需要的包和模块
from PyQt5.Qt import *
import sys

#1.创建一个应用程序对象
app=QApplication(sys.argv)

#2.控件的操作
#2.1 创建控件
window=QWidget()
#2.2 设置控件
window.setWindowTitle('$TITLE$')
window.resize(500,500)
window.move(400,200)

$CODE$

#2.3 展示控件
window.show()

#3.应用程序的执行,进入到消息队列
sys.exit(app.exec_())

注意:里面的$TITLE$  和 $CODE$

效果:

1.3 面向对象版本的代码

from PyQt5.Qt import *
import sys

class Window(QWidget):#继承QWidget类
    def __init__(self):
        super().__init__()
        self.setWindowTitle('梦之城')
        self.resize(500, 500)

    #添加子控件
    def setup_ui(self):
        label = QLabel(self)
        label.setText('点击点击...')


if __name__=='__main__':
    app=QApplication(sys.argv)

    window=Window()
    window.setup_ui()
    window.show()

    sys.exit(app.exec_())

2.控件效果展示图

 

  

 

2.1 按钮的展示效果图 

   

2.1.1 QPushButton

2.1.2 QCommandLinkButton


2.1.3 QRadioButton(单选框)

2.1.4 QCheckBox(复选框):

 

2.2 输入控件的效果展示图 

 

2.2.1 QLineEdit

2.2.2 QTextEdit 

多行,可以文本,图片,连接... 

2.2.3 QPlainTextEdit

普通的多行文本,只能是文本。 

 

2.2.4 QkeySequenceEdit

 专门用于获取用户输入的快捷键。

 

2.2.5  QDataTimeEdit

QDataTimeEdit:采集日期时间,既可通过上下箭头调节,也可直接键盘输入。 

QDataEdit:单独的一个日期

QTimeEdit:单独的一个时间        

 

 

 

2.2.6 QSpinBox

简单数字步长调节,都是整数。 

 

2.2.7 QDoubleSpinBox

简单浮点数据的显示。 

 

2.2.8 QComboBox和QFontComboBox组合框

QComboBox:组合框(下拉选择输入)

QFontComboBox:选择字体

 

 

2.2.9 滑块(QAbstractSlider)(鼠标)

QDial:旋钮,可以缩放字体大小

QSlider:滑块

QScrollBar:滚动调

 

 

2.2.10 橡皮筋选中QRubberBand

2.2.11 (颜色、文件、字体、输入)对话框 

QColorDialog:弹出颜色对话框,进行选择

QFileDialog:选择文件的对话框

QFontDialog:选择字体的对话框

QInputDialog:简单输入对话框

2.2.12 日期控件:QCalenderWidget

 

2.3 展示控件

 

2.3.1 QLabel 

 

2.3.2 QLCDNumber 

2.3.3 QProgressBar进度条

一般用在下载、加载程序中。 

 

2.3.4 对话框QDialog

 

 

 

2.4 容器控件

QToolBox:类似于聊天工具

QDialogButtonBox:承载对话框里面的按钮

QGroupBox:用于把一些控件划分到一组

QMidArea和QMdisubWindow:

2.4.1 QToolBox 

 

2.4.2 QDialogButtonBox

 

2.4.3 QGroupBox

2.4.4 QMidArea和QMdisubWindow

2.5 结构控件

2.5.1 QMainWindow中QMenuBar、QToolBar、QStatusBar

 将很多个控件合并到一个窗口里面。每一部分可以单独设置。

 

 

 

2.5.2  QTabwidget中QTabBar

  

2.5.3 QStackedWidget

2.5.4 QSplitter

每部分的界限可以调节。 

 

2.5.5 QDockWidget

使控件可以悬浮起来,可以上下左右中任意悬浮、停靠。

 

 

 

2.6 滚动控件

 

2.6.1 QTextBrowser 

可以浏览大段的文本。 

 

2.6.2 QScrollArea

可以展示大的区域,可以看到图片的具体细节。 

 

2.6.3 QAbstractItemView中的QColumnView、QHeaderView、QListView、QTableView、QTreeView

 

  

 

 

2.6.4 QMdiArea

由很多子控件组成。 

 

2.6.5 QGraphicsView

画图用的。

 

2.7 辅助控件

2.7.1 QFocusFrame

选中的框框与其他的不一样。 

 

2.7.2 QSizeGrip

右下角有个可以拖动的。 

2.7.3 QDesktopWidget

快速访问电脑桌面信息,比如它的尺寸,宽高,个数等信息。 

 

2.8 其他控件

 

2.8.1 向导/打印(QDialog) 

 

 

 

 

2.8.2 欢迎页面QSplashScreen

用于切换到其他的页面前的欢迎页面。

2.8.3 功能性控件QVideoWidget和QWebEngineView

QVideoWidget:用于播放视频

QCameraViewfinder:相机

QWebEngineView:一个浏览器引擎

 

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是一个自定义的电池图标文件,可以根据自己的需求替换。 这样,当我们运行这段代码时,就会在系统托盘中显示一个电池图标,并且会定时更新电池电量信息。当我们单击右键时,会打开一个菜单,可以选择退出应用程序。 希望这个回答对您有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值