使用PyQt5怎么实现一个数据标注工具

  介绍

使用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怎么实现一个数据标注工具问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

使用PyQt5怎么实现一个数据标注工具