Python indentation error:

前端 未结 4 1206
天涯浪人
天涯浪人 2020-12-21 05:17

I have tried notepad++ and eclipse but even then , it is showing me an indentation error at line 18. I don\'t know, why it is throwing me an error like that...? please help

相关标签:
4条回答
  • 2020-12-21 05:24

    In such cases it is usually a good idea to run python with the -t flag:

    -t : issue warnings about inconsistent tab usage (-tt: issue errors)

    This will help to find indentation problems caused by accidentally used tabs.

    0 讨论(0)
  • 2020-12-21 05:29

    The row

         self.verticalLayout.addWidget(self.lineEdit)
    

    should be on the same level of the other rows.

    You might be missing it because your editor mixes tabs and spaces.

    If you click on "edit" in your own question, you'll see that this row is not correctly indented.

    0 讨论(0)
  • 2020-12-21 05:41

    It is your quotes for example on line:

    self.lineEdit.setText(’My Generic Device Name’)
    

    try this:

    from brisa.core.reactors.qtreactor import QtReactor
    reactor = QtReactor()
    from brisa.core import config
    from brisa.upnp.device import Device
    from brisa.upnp.device.service import Service, StateVariable
    class QtDevice(QtGui.QWidget):
         def __init__(self):
    
             QtGui.QWidget.__init__(self)
             self.verticalLayout = QtGui.QVBoxLayout(self)
             self.title = QtGui.QLabel("Qt Simple Device")
             font = QtGui.QFont()
             font.setPointSize(15)
             self.title.setFont(font)
             self.title.setAlignment(QtCore.Qt.AlignCenter)
             self.verticalLayout.addWidget(self.title)
             self.lineEdit = QtGui.QLineEdit(self)
             self.verticalLayout.addWidget(self.lineEdit)
             self.search_btn = QtGui.QPushButton("Start Device", self)
             self.verticalLayout.addWidget(self.search_btn)
             QtCore.QObject.connect(self.search_btn, QtCore.SIGNAL("clicked()"), self.start)
             self.stop_btn = QtGui.QPushButton("Stop Device", self)
             self.verticalLayout.addWidget(self.stop_btn)
             QtCore.QObject.connect(self.stop_btn, QtCore.SIGNAL("clicked()"), self.stop)
             self.lineEdit.setText('My Generic Device Name')
             self.root_device = None
             self.upnp_urn = 'urn:schemas-upnp-org:device:MyDevice:1'
    
    
         def _add_root_device(self):
             project_page = 'http://brisa.garage.maemo.org'
             serial_no = config.manager.brisa_version.replace('.', '').rjust(7, '0')
             self.root_device = Device(self.upnp_urn,str(self.lineEdit.text()),
                                        manufacturer='',
                                        manufacturer_url=,
                                        model_description=' '
    
                                        model_name='',
                                        model_number=,
                                        model_url=,
                                        serial_number=)  
    
    
         def _add_services(self):
             service_name = 'MyService'
             service_type = 'urn:schemas-upnp-org:service:MyService:1'
             myservice = Service(service_name, service_type, '')
             var = StateVariable(self, "A_ARG_TYPE_Variable",True, False, "string")
             myservice.add_state_variable(var)
             self.root_device.add_service(myservice)
    
        def _load(self):
             self._add_root_device()
             self._add_services()
             def start(self):
             self.stop()
             self._load()
             self.root_device.start()
             reactor.add_after_stop_func(self.root_device.stop)  
    
         def stop(self):
             if self.root_device:
                 self.root_device.stop()
                 self.root_device = None
    
    def main():
         qt_dev = QtDevice()
         qt_dev.show()
         reactor.main()
    if __name__ == '__main__':
         main()   
    
    0 讨论(0)
  • 2020-12-21 05:45

    It looks like you're using the wrong single quote mark. You need to use ', not .

    Not sure if this is your problem though.

    0 讨论(0)
提交回复
热议问题