可以使用一个标志变量来控制程序的启动和结束。
首先,在主程序中设置一个标志变量,例如 running,用于指示程序是否处于运行状态。在程序开始时,running 应设置为 False。
然后,在每次循环中检查 running 的值。如果 running 为 True,则执行 auto() 函数;如果 running 为 False,则等待用户输入命令。
当用户输入 qd 命令时,将 running 设置为 True,并执行 auto() 函数。当用户输入 tz 命令时,将 running 设置为 False,并执行 reset() 函数。
示例代码如下:
running
running = False
while True:
cmd = input("请输入命令:")
if cmd == 'qd':
running = True
elif cmd == 'tz':
running = False
if running:
auto()
else:
reset()
在这段代码中,我们使用了一个 while 循环来不断接收用户的命令。在每次循环中,我们会读入用户的命令,并根据命令的不同设置 running 的值。如果 running 为 True,则执行 auto() 函数;如果 running 为 False,则执行 reset() 函数。
这样,用户就可以随时输入 tz 命令来停止程序,也可以输入 qd 命令来重新启动程序。
希望这些信息能够帮助您。
有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法。记录一下:
Loginpy(登录窗口)文件
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5QtCore import
from PyQt5QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget
from PyQt5QtGui import
from Ui_Login import Ui_Login_Window #由UI文件生成py文件后,导入创建的GUI类
from Main import # Mainpy为 主窗口代码文件
from class_MSSQL import MSSQL
#QtWidgetsQMainWindow:继承该类方法
class Login_window(QtWidgetsQMainWindow,Ui_Login_Window):
#__init__: 析构函数,也就是类被创建后就会预先加载的项目。
# 马上运行,这个方法可以用来对你的对象做一些你希望的初始化。
def __init__(self):
#这里需要重载一下Login_window,同时也包含了QtWidgetsQMainWindow的预加载项。
super(Login_window, self)__init__()
selfsetupUi(self)
# 将点击事件与槽函数进行连接
selfbtn_loginclickedconnect(selfbtn_login_fuc)
#登录按钮 函数
def btn_login_fuc(self):
#1 获取输入的账户和密码
account = selftxt_1text() # 记得text要打括号()!
password = selftxt_2text()
if account == "" or password == "":
reply = QMessageBoxwarning(self,"警告","账号密码不能为空,请输入!")
return
#2 查询数据库,判定是否有匹配
ms = MSSQL()
result = msLogin_result(account, password)
if(len(result) > 0):
#1打开新窗口
Ui_Mainshow()#2关闭本窗口
selfclose()
else:
reply = QMessageBoxwarning(self,"警告","账户或密码错误,请重新输入!")
if __name__ == '__main__': #如果这个文件是主程序。
app = QtWidgetsQApplication(sysargv) #QApplication相当于main函数,也就是整个程序(很多文件)的主入口函数。对于GUI程序必须至少有一个这样的实例来让程序运行。
window = Login_window() #生成一个实例(对象)
Ui_Main = Ui_Main() #生成主窗口的实例
windowshow() #有了实例,就得让它显示。这里的show()是QWidget的方法,用来显示窗口。
sysexit(appexec_()) # 调用sys库的exit退出方法,条件是appexec_()也就是整个窗口关闭。
Mainpy(主窗口)文件
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5QtCore import
from PyQt5QtWidgets import
from PyQt5QtGui import
from Ui_Main import Ui_MainWindow #由UI文件生成py文件后,导入创建的GUI类
import math
from PIL import Image, ImageDraw, ImageFont
import numpy as np
import os
import cv2 as cvcv
from class_Detection import Detection
class Ui_Main(QtWidgetsQMainWindow,Ui_MainWindow):
def __init__(self):
super(Ui_Main, self)__init__()
selfsetupUi(self)
# 将点击事件与槽函数进行连接
selfbtn_videoclickedconnect(selfbtn_video_fuc)
def btn_video_fuc(self):
filename = QFileDialoggetOpenFileName(self,'open file','/')
selftimer_camera = QTimer(self)
selfcap = cvcvcv2VideoCapture(filename[0])
selftimer_cameratimeoutconnect(selfshow_pic)
selftimer_camerastart(10) #1毫秒
def show_pic(self):
dc = Detection()
success,frame = selfcapread()
if success:
show = dcprocess_image(frame)
showImage = QImage(showdata, showshape[1], showshape[0],QImageFormat_RGB888)
selflabelsetPixmap(QPixmapfromImage(showImage))
selflabelsetScaledContents(True) #自适应
selftimer_camerastart(10)
if __name__ == '__main__':
app = QtWidgetsQApplication(sysargv)
window = Ui_Main()
windowshow()
sysexit(appexec_())
你好,
1、读取windows窗口,应该要用系统编程的知识实现接口,然后python调用
python 没有直接能实现该功能的模块
2、或者,你需要调用win32 api了已经不是python的标准范围
你可以看看 Pywin32 这个扩展库
可以在python中读取文本框中的内容,作为参数传给c++程序,返回值可以直接通过调用exe的函数读取,或者通过c++将结果输出到文本文件中,然后python后台读取文本文件中的值,显示到结果文本框中。
跳转实现思路
主程序相当于桌子:
import tkinter as tk
root = tkTk()
而不同的Frame相当于不同的桌布:
face1 = tkFrame(root)
face2 = tkFrame(root)
每个界面采用类的方式定义各自的控件和函数,每个界面都建立在一个各自定义的Frame上,那么在实现跳转界面的效果时,
只需要调用tkinterdestroy()方法销毁旧界面,同时生成新界面的对象,即可实现切换。
而对于切换的过程中改变背景颜色和大小,可以通过修改frame控件的属性,或者修改root的属性(桌子的属性)来实现。
以上就是关于关于python 命令控制程序启动与结束全部的内容,包括:关于python 命令控制程序启动与结束、python关闭主页面返回登录界面、Python 如何获得一个Windows程序窗口,并在窗口里的当前等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)