介绍
使用PyQt5怎么实现一个数据标注工具?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
得到PyQt5.QtWidgets import QApplication, QPushButton, QLabel QMainWindow 得到PyQt5.QtGui import  QFont QPixmap import 系统,操作系统 import shutil , def 拷贝文件(srcfile, dstfile): #用来复制文件,源文件会保留 , if 才能;not  os.path.isfile (srcfile): ,,,print (“% s  not 存在!“,%,srcfile) 其他的才能: ,,,,,,f_path f_name =, os.path.split (dstfile), #,分离文件名和路径 ,,,if not os.path.exists (f_path): ,,,,,os.makedirs (f_path), #,创建路径 ,,,shutil.copyfile (srcfile, dstfile), #,复制文件 ,,,print (“copy  % s →, % s", %, (srcfile, dstfile)) class mainForm (QMainWindow): def 才能__init__(自我): ,,,超级(mainForm,,自我). __init__ () , ,,,self.img_path=傲??#文件夹和py文件要再同一个目录下面 ,,,self.img_list=os.listdir (self.img_path), #获取目录下的所有文件 ,,,self.idx=0 #可以改这里,选择程序运行的时候第一个显示的图片是哪一个 , ,,,self.initUI () ,,,self.show () def 才能initUI(自我): ,,,字体=QFont () ,,,font.setPixelSize(20) #新建一个字体控件 , ,,,self.setWindowTitle (“label_me") #设置窗体的标题 ,,,self.setGeometry(0, 0900600) #位置和大小 , ,,,button_list=[“Chandler",“Phoebe",“Joey",“Monica",“Rachel",“Ross",“Others",“Thing",] #这里是显示的按钮们,也是可能的类别数 , ,,,for idx,, label_name 拷贝列举(button_list): , ,,,,,按钮=QPushButton (label_name,自我) ,,,,,button.move (idx * 110 + 20500) ,,,,,button.setFont(字体) ,,,,,button.setFixedHeight (35) , ,,,,,button.clicked.connect (self.classify) #动态控件绑定同一个事件,根据事件的发送者判断是哪个按钮按下 , ,,,self.lbl_list=[] #存放显示图片的label 的列表 ,,,for 小姐:拷贝范围(self.get_remainder ()): , ,,,,,self.pix =, QPixmap (self.img_path + self.img_list [self.idx + i]) ,,,,,label_img =, QLabel(自我) ,,,,,label_img.setGeometry(360 *我+ 10,400 - 100 * (3 i) + 40, 100 * (3 i) + 40100 * (3 i) + 40) ,,,,,label_img.setStyleSheet(“边境:2 px solid  red") ,,,,,label_img.setPixmap (self.pix) #设置标签控件要显示的图片 ,,,,,label_img.setScaledContents(真正的) ,,,,,self.lbl_list.append (label_img) , def 才能get_remainder(自我):#打算是要显示3个标签图片,如果是到了最后,显示不了那么多了。 ,,,r=len (self.img_list) -self.idx ,,,if r> 3: ,,,,,r=3 ,,,return r def 才能clear_lbls(自我):#最后的时候会用的到,不显示某些标签 ,,,for 小姐:拷贝范围(len (self.lbl_list)): ,,,,,self.lbl_list[我]hide () , def 才能;分类(自我): , ,,,sender =, self.sender () ,,,dir_path=sender.text() +“/?获取按钮的文本属性 , ,,,current_img_path=self.img_list [self.idx] #获取刚刚被分类的图片的路径 ,,,复制文件(self.img_path + current_img_path ,, dir_path + current_img_path) ,,,self.idx +=1 #下一个图片 ,,,img_full_path =,(时间+ self.img_path self.img_list (self.idx +,),, for 小姐:拷贝范围(self.get_remainder ())) , ,,,self.clear_lbls () ,,,for 小姐:拷贝范围(self.get_remainder ()): , ,,,,,pix =, QPixmap (img_full_path[我]) ,,,,,self.lbl_list[我].setPixmap(沥青) ,,,,,self.lbl_list[我],告诉() ,,,self.setWindowTitle(“当前是第,% d 个图片“% self.idx) , 应用=QApplication (sys.argv) f=mainForm () sys.exit (app.exec ())
关于使用PyQt5怎么实现一个数据标注工具问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。