附件图片预览,标题描述等信息传递
import sys import datetime from PyQt5 import QtWidgets, QtCore, QtGui from PyQt5.QtWidgets import * import pymysql class picture(QWidget): def __init__(self): super(picture, self).__init__() #主体窗口的宽度高度 self.resize(800, 600) #主体窗口标题 self.setWindowTitle("label显示图片") # self.label_1 = QtWidgets.QLabel(self) self.label_1.setGeometry(QtCore.QRect(10, 10, 55, 25)) self.label_1.setText("工单标题") self.label_2 = QtWidgets.QLabel(self) self.label_2.setGeometry(QtCore.QRect(10, 50, 55, 25)) self.label_2.setText("工单描述") self.lineEdit_1 = QtWidgets.QLineEdit(self) self.lineEdit_1.setGeometry(QtCore.QRect(70, 10, 400, 25)) self.lineEdit_2 = QtWidgets.QLineEdit(self) self.lineEdit_2.setGeometry(QtCore.QRect(70, 50, 400, 25)) self.lineEdit_3 = QtWidgets.QLineEdit(self) self.lineEdit_3.setGeometry(QtCore.QRect(70, 90, 400, 25)) self.lineEdit_4 = QtWidgets.QLineEdit(self) self.lineEdit_4.setGeometry(QtCore.QRect(70, 130, 400, 25)) self.lineEdit_5 = QtWidgets.QLineEdit(self) self.lineEdit_5.setGeometry(QtCore.QRect(70, 170, 400, 25)) self.pushButton_2 = QtWidgets.QPushButton(self) self.pushButton_2.setGeometry(QtCore.QRect(10, 90, 55, 25)) self.pushButton_2.setText('读取文件') self.pushButton_2.clicked.connect(self.openimage1) self.pushButton_3 = QtWidgets.QPushButton(self) self.pushButton_3.setGeometry(QtCore.QRect(10, 130, 55, 25)) self.pushButton_3.setText('读取文件') self.pushButton_3.clicked.connect(self.openimage2) self.pushButton_4 = QtWidgets.QPushButton(self) self.pushButton_4.setGeometry(QtCore.QRect(10, 170, 55, 25)) self.pushButton_4.setText('读取文件') self.pushButton_4.clicked.connect(self.openimage3) self.pushButton_5 = QtWidgets.QPushButton(self) self.pushButton_5.setGeometry(QtCore.QRect(10, 210, 55, 25)) self.pushButton_5.setText('文件提交') self.pushButton_5.clicked.connect(self.file_tj) self.pushButton_6 = QtWidgets.QPushButton(self) self.pushButton_6.setGeometry(QtCore.QRect(630, 210, 55, 25)) self.pushButton_6.setText('刷新') self.pushButton_6.clicked.connect(self.shuju_xs) # 信息反馈 self.label_fk = QLabel(self) self.label_fk.setText("信息反馈") self.label_fk.move(70, 210) self.label_fk.setFixedSize( 550, 25) #内部 显示图片 框属性 self.label = QLabel(self) # 内部 显示图片 框标题初始 self.label.setText("图片预览") # 内部窗口的宽度高度 self.label.setFixedSize(300, 185) # 内部窗口的显示位置 self.label.move(490, 10) # 内部窗口的内属性 font-size 字体大小, self.label.setStyleSheet("QLabel{background:white;}" "QLabel{color:rgb(300,300,300,120);font-size:20px;font-weight:bold;font-family:宋体;}" ) layout = QVBoxLayout() # 表格 self.table_widget = QTableWidget(20, 8) # 行数,列数 # self.table_widget.setGeometry(QtCore.QRect(0, 280, 801, 281)) self.table_widget.setFixedSize(800, 350) # 宽度,高度 self.table_widget.setColumnWidth(0, 55) # self.table_widget.setRowHeight(10, 10) self.table_widget.setHorizontalHeaderLabels(['工单编号', '工单标题', '工单描述', '发起人编码', '发起时间', '附件1', '附件2', '附件3']) self.table_widget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 表格内容只读 self.table_widget.setSelectionBehavior(QAbstractItemView.SelectRows) # 点击选择整行 self.shuju_xs() self.spacerItem = QtWidgets.QSpacerItem(1, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) layout.addItem(self.spacerItem) layout.addWidget(self.table_widget) self.setLayout(layout) def openimage1(self): """图片打开窗体""" #"*.jpg;;*.png;;All Files(*)" 是在打开窗体下显示的类型 imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)") self.lineEdit_3.setText(imgName) #打开文件路径 jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height()) # 在窗体显示 self.label.setPixmap(jpg) def openimage2(self): """图片打开窗体""" #"*.jpg;;*.png;;All Files(*)" 是在打开窗体下显示的类型 imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)") self.lineEdit_4.setText(imgName) #打开文件路径 jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height()) # 在窗体显示 self.label.setPixmap(jpg) def openimage3(self): """图片打开窗体""" #"*.jpg;;*.png;;All Files(*)" 是在打开窗体下显示的类型 imgName, imgType = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)") self.lineEdit_5.setText(imgName) #打开文件路径 jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height()) # 在窗体显示 self.label.setPixmap(jpg) def file_tj(self): """图片打开窗体""" if len(self.lineEdit_1.text())== 0 : self.label_fk.setText('标题为空') elif len(self.lineEdit_2.text())== 0 : self.label_fk.setText('描述为空') else: self.label_fk.setText(self.lineEdit_1.text() +':'+ self.lineEdit_2.text()) # 登录数据库 self.conn = pymysql.connect(host='127.0.0.1', port=3306, user='szc', password='szcNSP850219', database='szc_sql', charset='utf8') # 得到一个可以执行SQL语句的光标对象 self.cursor = self.conn.cursor() sql = "insert into zibo_gd_wjsc (BIAOTI,MIAOSHU,USER_ID,IN_TIME,URL1,URL2,URL3) " \ "values('%s','%s','%s',now(),'%s','%s','%s') " % ( self.lineEdit_1.text(), self.lineEdit_2.text(), 'shazhicheng',self.lineEdit_3.text(),self.lineEdit_4.text(),self.lineEdit_5.text(),) self.count = self.cursor.execute(sql) self.conn.commit() # 关闭光标对象 self.cursor.close() # 关闭数据库连接 self.conn.close() self.shuju_xs() self.label_fk.setText("导入成功") def shuju_xs(self): # 添加数据 # 登录数据库 self.conn = pymysql.connect(host='127.0.0.1', port=3306, user='szc', password='szcNSP850219', database='szc_sql', charset='utf8') # 得到一个可以执行SQL语句的光标对象 self.cursor = self.conn.cursor() sql = "select id,biaoti,miaoshu,user_id,in_time,url1,url2,url3 from zibo_gd_wjsc ORDER BY id DESC " self.cursor.execute(sql) count = self.cursor.execute(sql) # 数据库条数 fetchall = self.cursor.fetchall() # 获取数据 # 关闭光标对象 self.cursor.close() # 关闭数据库连接 self.conn.close() for i in range(count): #print(fetchall[i]) for t in range(8): if fetchall[i][t] is None or fetchall[i][t] =='' : newItem = QTableWidgetItem('无数据') elif t == 0: newItem = QTableWidgetItem(str(fetchall[i][t])) elif t == 4: newItem = QTableWidgetItem(fetchall[i][t].strftime('%Y-%m-%d %H:%M:%S')) else: newItem = QTableWidgetItem(fetchall[i][t]) self.table_widget.setItem(i, t, newItem) if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) #窗体显示 my = picture() my.show() sys.exit(app.exec_())