御坂初琴
Articles133
Tags48
Categories12
【自学笔记】Python MsgBox自学笔记

【自学笔记】Python MsgBox自学笔记

# 简介

本笔记旨在记录个人在学习 Python 中的一些心得。由于个人学习习惯问题,习惯性先学 GUI,故可能和很多内容 Python 学习笔记的顺序有较大区别。请根据需要进行学习。


# 软件准备

PyWinDesign:绿色版无需安装

PyInstaller 安装:首先安装 Python3.5 以上版本。注意:

(1)不要使用 Lite 版和绿色版,推荐使用安装包:Python-3.8.3-amd64.exe

(2)http://www.pyinstaller.org/downloads.html 按照该文档进行安装。


# 环境变量

首先需要设置环境路径

首先设置 python 和 srcipt 的环境变量(添加了环境变量才可以在 cmd 里对其进行指令操作)

右击我的电脑选择属性,然后选择高级系统设置,接着点击环境变量,再点击 path,把 python 和 scripts 所在的路径添加进去(添加第五第六行就可以了)


# PIP 安装 PyInstaller

cmd 输入

1
pip3 install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

如果 pip 版本太低了,则 python -m pip install --upgrade pip


# msgbox 的实现方法

Python 没有 Win32 中和 vbs 中最常见的弹窗命令 msgbox,使用这个命令有 3 种方法。


# 使用 EasyGUI 实现 msgbox

EasyGui 的教程较多,推荐笔记 3 中的教程。缺点是和 Windows GUI 不一致。

https://www.cnblogs.com/fuqia/p/8992438.html

使用方法非常简单:

1
2
import easygui
easygui.msgbox("Hello World")

# 使用 VBS 或 BAT 实现 msgbox

使用 os.popen () 可以直接运行 CMD 命令,从而产生一个和 Windows GUI 风格一致的小弹窗。

可以这样玩:

1
2
3
import os
os.popen('mshta vbscript:msgbox("内容",64,"标题")(window.close)') #使用VBS
os.popen("msg %username% /time:10 内容") #使用CMD

vbs 的 msgbox 参考语法:

https://blog.csdn.net/raokaichuan/article/details/6942615

msg 参考语法:

https://www.cnblogs.com/xiongzaiqiren/p/11364600.html


# 以前两个巨蠢的方法

1
2
import subprocess
subprocess.call('cscript ./msgbox.vbs')
1
2
import subprocess
subprocess.call('msgbox.bat')

然后在 msgbox.vbs/bat 中写入 msgbox 的内容:


# VBS 和 BAT 代码示例

VBS

1
2
;普通框
msgbox "提示信息:这里是提示 PROMPT",48,"标题: 这里是标题 TITLE"
1
2
3
4
5
;选择框
Select Case msgbox("请单击一个按钮",68,"测试")
Case 6 msgbox(chr(34)&"是"&chr(34)&"被点击了")
Case 7 WScript.Echo chr(34)&"否"&chr(34)&"被点击了"
end Select

BAT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off

rem 测试MSG
msg * "ok"

rem 测试MSG,10秒后自动关闭
msg %username% /time:10 终于等到你 弹出对话框演示,修改这里的文字即可。

rem 测试带换行的MSG
(echo 终于等到你
echo 5秒后自动关闭)|msg %username% /time:5


rem 测试MSG,显示响应信息的
(echo 检测到办公软件不是合规版本
echo 我们将在今晚21:00执行更新!届时请提前保存并关闭您的文档。
)|msg %username% /V /W

pause
Author:御坂初琴
Link:https://ybcq.github.io/2020/11/03/%E3%80%90%E8%87%AA%E5%AD%A6%E7%AC%94%E8%AE%B0%E3%80%91Python%20MsgBox%E8%87%AA%E5%AD%A6%E7%AC%94%E8%AE%B0/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×