【PyQt4 實例23】獲取文件屬性(下)

        bottomLayout=QVBoxLayout()
        bottomLayout.addLayout(hb2)
        mainLayout.addLayout(bottomLayout,6,0,1,2)
        
        hb3 = QHBoxLayout() 
        self.ButtonMessage = QPushButton(self)
        self.ButtonMessage.setText(self.tr("獲得文件信息"))
        hb3.addWidget(self.ButtonMessage)
        bottomLayout.addLayout(hb3)
        
        self.connect(self.ButtonMessage,SIGNAL("clicked()"),self.getFileInformation)
        self.connect(self.PushButtonFile,SIGNAL("clicked()"),self.slotopenFile)

    def slotopenFile(self):
        name = QFileDialog.getOpenFileName(self,"open file dialog",".","strip file(*.*)")
        self.LineEditFile.setText(name)   
         
    def getFileInformation(self):
        file = self.LineEditFile.text()
        if file.isEmpty():
            QMessageBox.warning(self,self.tr("error"),self.tr("Please input file address!"))        
        info = QFileInfo(file)
        size = info.size()
        created = info.created()
        lastModified = info.lastModified()
        lastRead = info.lastRead()
        isDir = info.isDir()
        isFile = info.isFile()
        isSymlink = info.isSymLink()
        isHidden = info.isHidden()
        isReadable = info.isReadable()
        isWritable = info.isWritable()
        isExecutable = info.isExecutable()
        self.LineEditSize.setText(QString.number(size))
        self.LineEditCDate.setText(created.toString())
        self.LineEditMDate.setText(lastModified.toString())
        self.LineEditVDate.setText(lastRead.toString())
        self.Record_check.setCheckState(isDir if Qt.Checked else Qt.Unchecked)
        self.F_check.setCheckState(isFile if Qt.Checked else Qt.Unchecked)
        self.S_check.setCheckState(isSymlink if Qt.Checked else Qt.Unchecked)
        self.H_check.setCheckState(isHidden if Qt.Checked else Qt.Unchecked)
        self.Read_check.setCheckState(isReadable if Qt.Checked else Qt.Unchecked)
        self.W_check.setCheckState(isWritable if Qt.Checked else Qt.Unchecked)
        self.E_check.setCheckState(isExecutable if Qt.Checked else Qt.Unchecked)
                
app=QApplication(sys.argv)
dialog=FileInformation()
dialog.show()
app.exec_()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章