pyqt5学习笔记(一)


25行代码的弹出式闹钟

  1. 控制台启动
  2. 可以根据设置选择是否添加标题栏,菜单,关闭按钮,默认不采用
# -*- coding: utf-8 -*-
# @Date    : 2018/5/6 13:16 
# @Author  : yw 

import time
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *



if __name__ == "__main__":
    app = QApplication(sys.argv)              # 每一个PyQt应用都必须有一个QApplication对象

    try:
        due = QTime.currentTime()             # 获取当前系统的事件
        message = "Alert!"                    # 初始化显示的信息

        if len(sys.argv) < 2:
            raise ValueError

        hours, mins = sys.argv[1].split(":")
        due = QTime(int(hours), int(mins))

        if not due.isValid():                 # 如果时间格式不对,则抛出异常
            raise ValueError

        if len(sys.argv) > 2:
            message = ''.join(sys.argv[2:])

    except ValueError:
        message = "Usage:alert.py HH:MM [optional message]"

    while QTime.currentTime() < due:          # 当前时间与目标时间做比较
        time.sleep(20)

    lb1 = QLabel("<font color=red size=72><b>" + message + "</b></font>")       # 传入HTML标签定义消息显示红色, 72point, 加黑
    lb1.setWindowFlags(Qt.SplashScreen)       # 采取标题栏, 设置闪屏模式
    lb1.show()
    QTimer.singleShot(60000, app.quit)        # 设置单次计时器, 时间到后调用传入的方法

    sys.exit(app.exec_())

lb1.setWindowFlags(Qt.SplashScreen)

这里写图片描述

#lb1.setWindowFlags(Qt.SplashScreen)

这里写图片描述

30行代码的表达式求值

  • [ ] 一个没有父类的窗口部件就会是顶级窗口,而一个有父类的窗口部件就会被包含(或显示)它的父类中,PyQt采取父子拥有权模型来确保如果一个父类被(例如一个顶级窗口)被删除,那么它的所有孩子,即该窗口的所包含的全部窗口部件都应当全部被自动删除。
  • [ ] 大多数PyQt QObject子类都会在其构造函数中的最后一个参数处带一个父类对象。但对于窗口部件一般不会(也不需要)传递这个参数。这是因为,对话框中的窗口部件使用布局管理器进行布局的,而一旦出现布局,各个窗口部件就会自动重定向父类,指向它们所在的布局,因而它们会自动正确地改正自己的父类而无须我们做任何其他的动作。
    但是,在某些情况下,就必须明确的传递一个父对象。例如创建那些不是窗口部件的QObject子对象时,或者是在创建一些不进行布局的窗口部件时。
from __future__ import division
from math import *
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


class Form(QDialog):

    def __init__(self, parent=None):

        super().__init__(parent)
        self.browser = QTextBrowser()
        self.lineedit = QLineEdit("Type an expression and press Enter")
        self.lineedit.selectAll()

        layout = QVBoxLayout()
        layout.addWidget(self.browser)
        layout.addWidget(self.lineedit)
        self.setLayout(layout)
        self.lineedit.setFocus()                            # 将初始字符设置焦点
        self.lineedit.returnPressed.connect(self.UpdateUI)  # 信号槽 按下回车便连接函数
        self.setWindowTitle("Calculate")

    def UpdateUI(self):

        try:
            text = self.lineedit.text()
            self.browser.append("%s = <b>%s</b>" % (text, eval(text)))

        except:

            self.browser.append("<font color=red >%s is invalid! </font>" % text)


if __name__ == "__main__":

    app = QApplication(sys.argv)              # 每一个PyQt应用都必须有一个QApplication对象
    form = Form()
    form.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴能回答您的问题,使用PyQt5框架编写笔记本软件可以通过以下步骤实现: 1. 创建一个PyQt5应用程序,并设置窗口大小和标题。 2. 在窗口添加文本框,用于输入文本。 3. 添加按钮,用于保存和打开文件。 4. 使用PyQt5的文件对话框,以便用户可以选择要保存或打开的文件。 5. 使用Python的open()函数来保存或打开文件。 6. 实现程序的其他功能,如搜索、撤销/重做等。 ### 回答2: 使用Pyqt5框架开发一个笔记本软件可以实现以下功能: 1. 编辑笔记:用户可以创建新笔记,编辑现有笔记或删除不需要的笔记。软件界面提供一个文本编辑器,用户可以在其输入和修改文本内容,并且可以对文本进行格式化,如选择字体、字号、颜色等。 2. 分类和标签:用户可以对笔记进行分类和标签。分类可以根据不同主题或用途,如工作、学习、个人等进行分类管理。标签可以根据关键词进行添加和查找,方便用户整理和检索笔记。 3. 笔记管理:用户可以通过软件界面对笔记进行管理,可以对笔记进行重命名,设置笔记的创建日期和最后修改日期。还可以设置笔记的优先级、提醒和星标等属性,方便用户按照不同的需求对笔记进行排序和过滤。 4. 导入和导出:用户可以将已存在的笔记导入到软件,或将软件笔记导出为其他格式,如文本文件、PDF文件等。这样用户可以方便地与其他人共享和传递笔记。 5. 数据备份和恢复:软件可以提供数据备份和恢复的功能,用户可以定期备份笔记数据,以防止数据丢失或损坏。当需要时,用户可以通过导入备份文件来恢复数据,确保笔记的安全性。 6. 用户界面个性化:软件界面可以提供用户个性化设置的功能,如选择不同的主题、布局和快捷键等,以满足不同用户的喜好和习惯。 通过利用PyQt5框架的丰富功能和灵活性,可以开发出一个功能齐全、易于使用笔记本软件,满足用户对笔记管理的需求。 ### 回答3: 使用PyQt5框架编写一个笔记本软件可以提供一个用户友好的界面,方便用户记录、编辑和管理各种类型的笔记。 首先,我们可以使用PyQt5的QWidget作为主窗口,并设置合适的窗口大小。然后,可以在窗口创建一个多页的标签栏,每个标签页代表一个笔记。 接下来,可以在每个标签页上添加适当的控件,如QTextEdit或QPlainTextEdit,以实现用户输入和编辑文本内容的功能。同时,可以提供一些按钮和菜单,例如保存、打开、剪切、复制和粘贴等,以增强用户的操作体验。 此外,还可以在界面添加其他功能组件,如日历控件或待办事项列表,以满足用户不同的需求。例如,用户可以在软件添加一些提醒事项,或者将某些笔记标记为重要,方便日后查看。 为了增强用户使用体验,可以在软件设置一些快捷键,以方便用户快速完成常用操作,如Ctrl+S保存笔记,Ctrl+Z撤销等。 最后,可以为软件添加一个简洁美观的界面风格,以及一些自定义设置,如字体、颜色和背景等,以满足用户对个性化的需求。 综上所述,使用PyQt5框架编写一个笔记本软件可以实现用户友好的界面和丰富的功能,提供便捷、高效的笔记记录和管理体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值