一般保存文件对话　框都是用　户自己设置不存在的新文件名用于保存文件。　获取到非空的保存文件名字符串之后,设置给　lineEditDstFile　控件显示。　最后是实际保存各个配置项的函数,就是　"保存配置"　按钮对应的槽函数:　void　Widget　::　on_pushButtonSave_clicked　()　{　//获取保存文件名　QString　strSaveName　=　ui　->　lineEditDstFile　->　text　();　//获取设置值　QString　strIP　=　ui　->　lineEditIP　->　text　();　QString　strPort　=　ui　->　lineEditPort　->　text　();　QString　strHostName　=　ui　->　lineEditHostName　->　text　();　QString　strWorkGroup　=　ui　->　lineEditWorkGroup　->　text　();　//如果字符串有空串就不写入　if　(　strSaveName　.　isEmpty　()　||　strIP　.　isEmpty　()　||　strPort　.　isEmpty　()　||　strHostName　.　isEmpty　()　||　strWorkGroup　.　isEmpty　()　)　{　QMessageBox　::　warning　(　this　,　tr　(　"保存配置"　),　tr　(　"需要设置好保存文件名和所有配置项数值。"　));　return　;　}　//定义文件对象　QFile　fileOut　(　strSaveName　);　//打开　if　(　!　fileOut　.　open　(　QIODevice　::　WriteOnly　|　QIODevice　::　Truncate　|　QIODevice　::　Text　))　{　QMessageBox　::　warning　(　this　,　tr　(　"打开文件"　),　tr　(　"打开目的文件失败:"　)　+　fileOut　.　errorString　()　);　return　;　}　//构造字节数组写入　//ip　行QByteArray　baTemp　=　"ip　=　"　;　baTemp　+=　strIP　.　to