【PyQt4 实例29】利用QDataStream对文件进行存取
来源:互联网 发布:听国学的软件 编辑:程序博客网 时间:2024/06/05 12:10
# -*- coding: utf-8 -*-from PyQt4.QtGui import *from PyQt4.QtCore import *import sysQTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))class Settings(QDialog): def __init__(self,parent=None): super(Settings,self).__init__(parent) self.setWindowTitle(self.tr("利用QDataStream对文件进行存取")) self.label = QLabel(self.tr("通道:")) self.channelSpinBox = QSpinBox() self.channelSpinBox.setRange(0,20) self.timeLabel = QLabel(self.tr("第一次运行")) self.label_gong =QLabel(self.tr("功率:")) self.powerComboBox = QComboBox() self.powerComboBox.addItem(self.tr("大"),"大") self.powerComboBox.addItem(self.tr("中"),"中") self.powerComboBox.addItem(self.tr("小"),"小") self.saveButton = QPushButton(self.tr("保存")) self.label_Frequency = QLabel(self.tr("频率:")) self.FrequencyEdit = QLineEdit() self.getButton = QPushButton(self.tr("读取")) layout = QGridLayout(self) layout.addWidget(self.label,0,0) layout.addWidget(self.channelSpinBox,0,1) layout.addWidget(self.timeLabel,0,2) layout.addWidget(self.label_gong,1,0) layout.addWidget(self.powerComboBox,1,1) layout.addWidget(self.saveButton,1,2) layout.addWidget(self.label_Frequency,2,0) layout.addWidget(self.FrequencyEdit,2,1) layout.addWidget(self.getButton,2,2) self.resize(250,150) self.connect(self.saveButton,SIGNAL("clicked()"),self.slotSave) self.connect(self.getButton,SIGNAL("clicked()"),self.slotGet) def slotSave(self): self.channel = self.channelSpinBox.value() self.power = self.powerComboBox.currentIndex() self.frequency = self.FrequencyEdit.text() self.time = QDateTime() file = QFile("parameters.dat") file.open(QIODevice.WriteOnly) out = QDataStream(file) out.setVersion(QDataStream.Qt_4_0) out.writeUInt32(0xa1a2a3a4) out.writeUInt32(self.channel) out.writeUInt32(self.power) out.writeString(self.frequency) out << self.time.currentDateTime() def slotGet(self): file = QFile("parameters.dat") file.open(QIODevice.ReadOnly) In = QDataStream(file) In.setVersion(QDataStream.Qt_4_0) magic = In.readUInt32() if magic != 0xa1a2a3a4: QMessageBox.information(self,"exception",self.tr("invalid file format")) return channel = In.readUInt32() power = In.readUInt32() frequency = In.readString() time = QDateTime() In >> time self.channelSpinBox.setValue(channel) self.powerComboBox.setCurrentIndex(power) self.FrequencyEdit.setText(frequency) lastTime = time.date().toString(Qt.ISODate) + " " + time.time().toString() self.timeLabel.setText(lastTime) app=QApplication(sys.argv)dialog=Settings()dialog.show()app.exec_()
0 0
- 【PyQt4 实例29】利用QDataStream对文件进行存取
- Qt4之利用QDataStream对文件进行存取
- 【PyQt4 实例24】文件浏览器
- 利用数据库存取文件
- QDataStream类用法实例
- 利用FILE结构对文件进行操作
- 利用FileStream对文件进行加密解密
- 利用RAR对文件进行分割
- 利用Python对文件进行解压缩
- 利用RandomAccessFile对文件进行切割存储
- 利用 INI 文件对软件进行注册
- 【Pyqt4 实例14】文件目录浏览器
- 利用ADOTable存取Excel文件
- ABPA 对文件的存取
- 利用VTK对数据进行可视化的实例
- 利用poi对excel进行读取操作实例
- 利用VTK对数据进行可视化的实例
- properties文件的存取与Map键值对排序【按照value进行排序】
- 3、mysql数据库双机同步开源软件otter的配置
- 欧盟玩具EN71
- TF-IDF算法及应用实例
- tomcat启动Java.Lang.NoClassDefFoundError: Org/Apache/Commons/Logging/LogFactory异常
- C# RSA和Java RSA互通
- 【PyQt4 实例29】利用QDataStream对文件进行存取
- WPF Silverlight 附加属性(AttachedProperty)
- Android中的Shape使用总结—圆角的按钮
- 排序算法
- 【LeetCode】Reorder List
- NSThread详解
- 《网络协议》TCP 四种定时器
- QB/T 2155-2010拉杆箱检测
- 时钟周期 指令周期 机器周期的理解