sinat_32671767
名字长不好绕树林!
采纳率33.3%
2021-04-14 23:14

Object has no attribute 'pushButton_j1616'

50
已结题

报错: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)   ###

结果一直报错,还请各位大佬接待,谢谢

  • 点赞
  • 收藏
  • 复制链接分享

5条回答

  • qq_42145681 白驹_过隙 22天前

    这种情况一般是版本和代码不匹配,建议降低版本试一下

    点赞 1 评论 复制链接分享
  • qq_28249373 shifenglv 21天前

    pushButton_j16这个属性应该类中自定义的属性,不是qt标准库的属性,你看看有没有import相应的库。dockwidget应该没有被引用进来

     

    点赞 评论 复制链接分享
  • weixin_42640861 UniLi 22天前

    缺代码,看报警信息应该是pushButton_j1616的声明问题

    如果不知道代码很难处理,查一下dockwidget下有没有pushbutton声明

    看代码dockwidget应该是一个Qwidgets属性的声明吧,接着声明了一个QPushButton属性的pushbutton_j1616?

    查一下有没有dockwidget.PushButton_j1616 = QPushButton('***',dockwidget)这样的声明,或者是不是声明的名称,大小写,缩进之类的打错了,有没有把pushbutton放在dockwidget类下面

    
     
    点赞 评论 复制链接分享
  • qq_22475211 深白色的风 22天前

    把完整代码发出来,才好知道问题出在哪,真么改

    点赞 评论 复制链接分享
  • larff larff 22天前

    错误解释为属性错误,意思是'FirstTestDockWidget' 对象没有 'pushButton_j1616'这个属性。代码不全看不出具体问题所在。

    点赞 评论 复制链接分享

相关推荐