是否可以在.txt或.doc或任何可打印文件中查看此查詢的結果(以及類似查詢),然後用戶可以隨時保存他喜歡的任何地方打印,如果他想?PyQt:在文檔或.txt文件中查看查詢結果
query.setQuery(""" SELECT * FROM "%s" WHERE METAPHONE("%s", 3) = METAPHONE('%s', 3) OR LEVENSHTEIN("%s", '%s') < 4 """ % (str(self.search_from_table_lineEdit.text()), str(self.search_where_lineEdit.text()), str(self.search_has_value_lineEdit.text()), str(self.search_where_lineEdit.text()), str(self.search_has_value_lineEdit.text())))
global var
var = QtGui.QTableView()
var.setModel(query)
var.show()
編輯: 我嘗試這樣做:
class report_GUI(QtGui.QWidget, Ui_report_Widget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setupUi(self)
self.report_Create_Report_button.clicked.connect(self.report_data)
def report_data(self):
FILE_NAME = 'export.csv'
exportQSqlQueryModel = QSqlQueryModel()
exportQSqlQueryModel.setQuery(""" SELECT * FROM "%s" WHERE "%s" = '%s' """ % (str(self.report_from_table_lineEdit.text()), str(self.report_where_lineEdit.text()), str(self.report_has_value_lineEdit.text())))
exportFile = open(FILE_NAME, 'wt')
writer = csv.writer(exportFile)
for row in exportQSqlQueryModel.rowCount():
listsTmpData = []
for column in exportQSqlQueryModel.columnCount():
listsTmpData.append(str(exportQSqlQueryModel.record(row).value(column).toString()))
writer.writerow(listsTmpData)
exportFile.close()
而得到這個錯誤:
line 563, in report_data
for row in exportQSqlQueryModel.rowCount():
TypeError: 'int' object is not iterable
EDIT2:
def report_data(self):
FILE_NAME = 'export.csv'
exportQSqlQueryModel = QSqlQueryModel()
exportQSqlQueryModel.setQuery(""" SELECT * FROM "%s" WHERE "%s" = '%s' """ % (str(self.report_from_table_lineEdit.text()), str(self.report_where_lineEdit.text()), str(self.report_has_value_lineEdit.text())))
exportFile = open(FILE_NAME, 'wt')
writer = csv.writer(exportFile)
if (self.report_from_table_lineEdit.text() == "pacijent"):
exportQSqlQueryModel.setHeaderData(0, QtCore.Qt.Horizontal, 'OIB pacijenta')
exportQSqlQueryModel.setHeaderData(1, QtCore.Qt.Horizontal, 'Prezime')
exportQSqlQueryModel.setHeaderData(2, QtCore.Qt.Horizontal, 'Ime')
exportQSqlQueryModel.setHeaderData(3, QtCore.Qt.Horizontal, 'ID sobe')
exportQSqlQueryModel.setHeaderData(4, QtCore.Qt.Horizontal, 'Adresa')
exportQSqlQueryModel.setHeaderData(5, QtCore.Qt.Horizontal, 'Datum rodjenja')
exportQSqlQueryModel.setHeaderData(6, QtCore.Qt.Horizontal, 'Spol')
listsTmpData = []
for row in range(exportQSqlQueryModel.rowCount()):
listsTmpData.append(str(exportQSqlQueryModel.headerData(row, QtCore.Qt.Horizontal)))
writer.writerow(listsTmpData)
for row in range(exportQSqlQueryModel.rowCount()):
listsTmpData = []
for column in range(exportQSqlQueryModel.columnCount()):
listsTmpData.append(str(exportQSqlQueryModel.record(row).value(column)))
writer.writerow(listsTmpData)
exportFile.close()
這表明只有前4個標題,它看起來像這樣:http://oi62.tinypic.com/2guxf5t.jpg
我編輯了我的帖子。 – Luka 2014-08-28 10:57:37
我忘記了範圍號碼。看到我最後編輯的答案。 – 2014-08-28 11:06:58
現在我得到這個:'AttributeError:'str'object has no attribute'toString'' – Luka 2014-08-28 12:52:55