报错:AttributeError: 'FirstTestDockWidget' object has no attribute 'pushButton_j1616'
from qgis.PyQt.QtCore import QSettings, QTranslator, QCoreApplication, Qt
from qgis.PyQt.QtGui import QIcon, QColor #####
#from PyQt5.QtWidgets import (QMainWindow, QTextEdit,QAction,QFileDialog,QApplication)
from qgis.PyQt.QtWidgets import QAction,QFileDialog
# Initialize Qt resources from file resources.py
from .resources import *
# Import the code for the DockWidget
from .first_test_dockwidget import FirstTestDockWidget
import os.path
import os
import subprocess
from qgis.core import *
from qgis.utils import iface
from PyQt5.QtCore import QSettings, QTranslator, QVariant, QCoreApplication
from qgis.core import QgsRasterLayer
from PyQt5.QtCore import QFileInfo ##这是开头引入的库
。。。
def j_16():
rlayer1 = iface.addRasterLayer(DATA_PATH+'\\data\\compsite\\road_compsite_num_geo.png', 'road')
rlayer2 = iface.addRasterLayer(DATA_PATH+'\\data\\compsite\\veg_compsite_num_geo.png', 'veg')
setcolor(rlayer1,1,255,0,255)#road
setcolor(rlayer2,2,0,255,0)#veg ##定义了一个要显示的图层
。。。
self.dockwidget.pushButton_j16.clicked.connect(j_16) ### 设置了对应的显示按钮
self.dockwidget.pushButton_j1616.clicked.connect(m_1) ###
self.dockwidget.pushButton_j161616.clicked.connect(m_1) ###
结果一直报错,还请各位大佬接待,谢谢
这种情况一般是版本和代码不匹配,建议降低版本试一下
错误解释为属性错误,意思是'FirstTestDockWidget' 对象没有 'pushButton_j1616'这个属性。代码不全看不出具体问题所在。
把完整代码发出来,才好知道问题出在哪,真么改
缺代码,看报警信息应该是pushButton_j1616的声明问题
如果不知道代码很难处理,查一下dockwidget下有没有pushbutton声明
看代码dockwidget应该是一个Qwidgets属性的声明吧,接着声明了一个QPushButton属性的pushbutton_j1616?
查一下有没有dockwidget.PushButton_j1616 = QPushButton('***',dockwidget)这样的声明,或者是不是声明的名称,大小写,缩进之类的打错了,有没有把pushbutton放在dockwidget类下面
pushButton_j16这个属性应该类中自定义的属性,不是qt标准库的属性,你看看有没有import相应的库。dockwidget应该没有被引用进来