03、pyqt入门使用--03信息提示框 - 各种类型输入框 - 文件打开选择框 - 文件保存选择框

01、信息框提示,点击按钮打开信息提示框
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import QMessageBox
    import sys, time


    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(771, 685)
            Form.setMaximumSize(QtCore.QSize(16777215, 16777215))
            self.pushButton = QtWidgets.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(250, 140, 75, 23))
            self.pushButton.setObjectName("pushButton")

            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)

        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.pushButton.setText(_translate("Form", "PushButton"))


    class mymessage(QtWidgets.QWidget, Ui_Form):
        _signal = QtCore.pyqtSignal()

        def __init__(self):
            super(mymessage, self).__init__()
            self.setupUi(self)
            self.pushButton.clicked.connect(self.msg)

        def msg(self):
            OK = QMessageBox.information(self, ("标题"), ("""信息框提示信息"""), QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No))


    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        myshow = mymessage()
        myshow.show()
        sys.exit(app.exec_())

02、信息提示框讲解
  --提示框类型:
    --QMessageBox.information 信息框
    --QMessageBox.question 问答框
    --QMessageBox.warning 警告
    --QMessageBox.ctitical 危险
    --QMessageBox.about 关于
    
    注:他们的统一形式都可以写为
      QMessageBox.类型(self, ("title"), ("""提示信息"""), QMessageBox.StandardButtons(按钮1 | 按钮2 | 按钮3 | *** ***))
      
  --按钮类型:
    --QMessageBox.Yes
    --QMessageBox.No
    --QMessageBox.Abort
    --QMessageBox.Apply
    --QMessageBox.Cancel
    --QMessageBox.Close
    --QMessageBox.Discard
    --QMessageBox.Help
    --QMessageBox.Ignore
    --QMessageBox.NoToAll
    --QMessageBox.Ok
    --QMessageBox.Open
    --QMessageBox.Reset
    --QMessageBox.RestoreDefaults
    --QMessageBox.Retry
    --QMessageBox.Save
    --QMessageBox.SaveAll
    --QMessageBox.YesToAll
    
  --示例:如何根据点击按钮的值,执行接下来的动作
    --result = QMessageBox.information(self, ("标题"), ("""信息框提示信息"""), QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No))
    --if (result == QMessageBox.Yes):
    --    print('开始执行Yes')
    --elif (result == QMessageBox.No):
    --    print('开始执行No')
  
  --示例:多个按钮的信息提示框
    --result = QMessageBox.warning(self, ("Warning"), ("""警告框提示信息"""), 
                                       QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No))
    
03、各种类型的输入框--QInputDialog   
  --标准输入文字框 QInputDialog.getText(),需要 QInputDialog 和 QLineEdit 模块,默认返回输入框文字和按钮 bool 值
  
  --标准整数输入框 QInputDialog.getInt(),默认返回输入框文字和按钮 bool 值,其中[0, -2147483647, 2147483647, 1]
                                        0为默认数值,[-2147483647, 2147483647]为数值范围,1为步长(即按上下按钮时数值增加或减少多少)
    --示例:
      result, ok = QInputDialog.getInt(self, ("标题"), ("请输入数值"), 0, -2147483647, 2147483647, 1)
      
  --标准浮点数输入框 QInputDialog.getDouble(),默认返回输入框文字和按钮bool值,其中[0, -2147483647, 2147483647, 10]
                                             0为默认数值,[-2147483647, 2147483647]为数值范围,最后10代表小数位数
    --示例:
      result, ok = QInputDialog.getDouble(self, ("标题"), ("请输入数值:"), 0, -2147483647, 2147483647, 10)
      print(result, ok)
  
  --列表输入选择框 QInputDialog.getItem(),默认返回输入框文字和按钮bool值,条目添加为列表类型,其中item为自定义列表,1为默认选中选项目,
    True/False 列表框是否可编辑。
  
    --示例:
      item = ["男生", "女生", "变态"]
      result, ok = QInputDialog.getItem(self, ("Item输入框"), ("请输入或选择:"), item, 1, True)
      print(result, ok)
  
  --代码示例:
    from PyQt5 import QtCore, QtGui, QtWidgets
    import sys, time


    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(771, 685)
            Form.setMaximumSize(QtCore.QSize(16777215, 16777215))
            self.pushButton = QtWidgets.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(250, 140, 75, 23))
            self.pushButton.setObjectName("pushButton")

            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)

        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.pushButton.setText(_translate("Form", "PushButton"))


    class myinputdialog(QtWidgets.QWidget, Ui_Form):
        _signal = QtCore.pyqtSignal()  # 定义信号接收对象 及 接受类型

        def __init__(self):
            super(myinputdialog, self).__init__()
            self.setupUi(self)
            self.pushButton.clicked.connect(self.msg)

        def msg(self):
            result, ok = QtWidgets.QInputDialog.getText(self, ("标准输入框"), ("提示"), QtWidgets.QLineEdit.Normal, ("默认文字"))
            print(result, ok)

    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        myinput = myinputdialog()
        myinput.show()
        sys.exit(app.exec_())
    
04、标准文件打开保存框之打开读入文件实现--QFileDialog    
  --单个文件打开 QFileDialog.getOpenFileName()
  --多个文件打开 QFileDialog.getOpenFileNames()
  --参数(指定父组件, "标题","默认打开路径","后缀名过滤器")还有很多
  --返回值 默认返回文件路径名 和 当前过滤名/过滤器
  --如果需要多种类型过滤,可以这样 "jpg(*.jpg);;exe(*.exe);;(*.*)",用两个;;分割开
  --getOpenFileName() 函数在 Windows和 MacOS X平台上提供的是本地的对话框
  --注意多个文件打开,若要包含子目录还需要使用别的手段,自行百度
  
  --示例:这里加上读出文件的部分
    from PyQt5 import QtCore, QtGui, QtWidgets
    import sys, time


    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(771, 685)
            Form.setMaximumSize(QtCore.QSize(16777215, 16777215))
            Form.setSizeIncrement(QtCore.QSize(2, 2))
            self.pushButton_2 = QtWidgets.QPushButton(Form)
            self.pushButton_2.setGeometry(QtCore.QRect(120, 220, 121, 23))
            self.pushButton_2.setObjectName("pushButton_2")

            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)

        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.pushButton_2.setText(_translate("Form", "选择文件"))


    class myfiledialog(QtWidgets.QWidget, Ui_Form):
        _signal = QtCore.pyqtSignal(str)  # 定义信号类型

        def __init__(self):
            super(myfiledialog, self).__init__()
            self.setupUi(self)
            self.pushButton_2.clicked.connect(self.msg)

        def msg(self):
            filename, filter_name = QtWidgets.QFileDialog.getOpenFileName(self, ("标题"), ("C:/Users/lwx898295/Desktop/lwx898295/python/djando"), ("选择文件(*.txt)"))

            with open(filename, 'r', encoding='utf8') as f:
                for i in f.readlines():
                    print(i)


    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        myfile = myfiledialog()
        myfile.show()
        sys.exit(app.exec_())
    
05、标准文件打开保存框之保存文件实现--QFileDialog     
   
    
    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值