python - 将 xps 文件从 mysql 检索到 QtableWidget 时出现问题
问题描述
我正在检索已经在 mysql 上上传到 QTableWiget 的 xps 文件,我刚刚遇到以下问题,需要将输出插入到 Qtablewidget 是覆盖 IO.Bytes 对象。
def insert_table_in_find_data(self):
die_no = self.comboBox_18.currentText()
try:
mydb = con.connect(host= "localhost", user ="root", password='''''', db="die")
cursor = mydb.cursor()
qry = ('''SELECT mod_code,mod_date,product_type,profile_before,spec_weight,production_line,mod_request,mod_photo,profile_after,spec_dimensions,mod_production_line,size,pattern,mod_executer,dept_resp,quality_supervisor,prod_resp,prod_supervisor,prod_team,prod_shift,profile_condition,mod_reason,mod_description,notes FROM product WHERE die_no = %s ''')
# qry = ('''SELECT mod_code,mod_date,product_type,spec_weight,production_line,mod_request,spec_dimensions,mod_production_line,size,pattern,mod_executer,dept_resp,quality_supervisor,prod_resp,prod_supervisor,prod_team,prod_shift,profile_condition,mod_reason,mod_description,notes FROM product WHERE die_no = %s ''')
value=die_no
cursor.execute(qry,(value,))
result = cursor.fetchall()
print(result)
if result :
self.tableWidget.setRowCount(0)
r=0
c=0
for row_number , row_data in enumerate (result):
r+=1
c = 0
for row_number,data in enumerate(row_data):
c+=1
self.tableWidget.clear()
self.tableWidget.setRowCount(0)
self.tableWidget.setColumnCount(c)
for row_number , row_data in enumerate (result):
self.tableWidget.insertRow(row_number)
for column_number , data in enumerate (row_data):
if column_number == 3 :
data1=base64.b64decode(result[0][3])
data=io.BytesIO(data1)
self.label = QTableWidgetItem()
self.label_2 = QLabel()
print(11)
if data1 :
with tempfile.NamedTemporaryFile(suffix='.xps', delete=False) as f:
f.write(data.getvalue())
n=f.name
self.label_2.setText(n)
# self.label_2.
self.tableWidget.setCellWidget(row_number, column_number, self.label_2)
另一方面,我准备了一个功能,以防用户单击该 o/p ,他可以打开 xps 文件进行预览
代码
def open_profile(self,item):
if item.column == 1:
link_profile=self.tableWidget.item(0,3).text()
WINxps_PATH = r'C:\Windows\system32\xpsrchvw.exe'
subprocess.Popen([WINxps_PATH, link_profile])
我有一个问题,如何使该功能适用于特定列而不适用于所有项目或列。
解决方案
推荐阅读
- python - 根据首字母缩写词前面的大写字符数获取缩写词
- machine-learning - Caffe MLP 示例
- r - 堆积条形图上的错位误差条
- android - 为什么splashactivity在mainactivity启动时闪烁
- postgresql - 读取由 debezium postgres connect 填充的 Docker Kafka 消息
- vue.js - VUEX 没有找到突变,但它被定义了
- c# - 无法在 C# 程序中下载 JDK
- javascript - 在 React 组件中,从 api 返回的不变数据存储在哪里,以便组件方法可以访问它?
- reactjs - 为什么有两个
滚动应用栏需要在 Material-UI 示例文档中正确呈现的组件? - c - 为什么 gcc 会为返回非 int 的函数的隐式声明产生错误?