欢迎访问我的个人网站,网站正在创建期间,主要供自己学习交流使用!

sys, sys.argv和sys.exit的使用说明



  1. app = QApplication(sys.argv)是创建一个应用程序必不可少的,其中sys.argv表示传递给系统的参数变量,以列表的形式显示,格式为[’文件名’,’参数1’, ’参数2’,…]。
  2. sys.exit(n)退出程序引发SystemExit, 根据状态值捕获异常,执行相应的清理工作,n默认值为0, 表示正常退出。其他都是非正常退出。

    sys.exit([arg]),arg参数表示当前状态值。

    sys.exit(exit_code),exit_code表示系统进程退出时对应的退出码,0——表示正常退出(我们在执行代码时,若最后一行看到一个0时,表示程序正确);非0——表示程序有错误、执行未完成或程序正在执行等。

    譬如:sys.exit(app.exec_()),如果程序正常运行,无输出,正常关闭窗口,将输出退出码0。

程序触发弹出窗口实例

本实例需要程序对窗口内的QLineEdit的输入值做出判断,如果输入数值不符合要求,则弹出提示窗口。

  1. 实现在Eric6中新建Dialog窗口,生产ui文件,使用Qt-Designer设计窗口,然后编译窗口,生产ui对应的py文件。

  1. 和上个实例类似,我们不对ui编译生成的py文件进行修改,而是在包含判断函数的py文件中,定义一个新的子类,实现方式和“生产对话框代码”类似。代码如下:

    from Ui_raw_content_error import Ui_Dialog as Dia_content_err

class Raw_content_err_Dialog(QDialog, Dia_content_err):

       def __init__(self, parent=None):

          super(Raw_content_err_Dialog, self).__init__(parent)

          self.setupUi(self)

  1. 函数中触发弹出窗口

    在函数中,当条件满足时,调用弹出窗口,代码如下:

dia_err = Raw_content_err_Dialog()

 dia_err.exec_()

此处,使用.show()会闪退,.show()和.exec_()同时使用会导致弹出窗口后主窗口无法锁定,仍可操作。


湘公网安备43012102001039    湘ICP备14007447号-1    邮箱:35744243#qq.com