2017-03-20 2 views
1

Hier habe ich eine QMainWindow und QWidget KlasseÄnderung statusBar in QMainWindow von QWidget

class WifiHotspot(QMainWindow): 

    def __init__(self, parent=None): 
     super(WifiHotspot, self).__init__(parent) 
     self.title = 'WIFI HOTSPOT' 
     self.initUI() 

    def initUI(self): 
     self.virtual_wifi = VirtualWifi(self) 
     self.setCentralWidget(self.virtual_wifi) 

     # i want to dynamic set statusBar in VirtualWifi class 
     #self.statusBar().showMessage('message here') # it work only in WifiHotspot 

     self.setWindowTitle(self.title) 
     self.show() 

class VirtualWifi(QWidget): 

    def __init__(self, parent): 
     super (VirtualWifi, self).__init__(parent) 
     self.initVirtualWifi() 

    def initVirtualWifi(self): 

     startButton = QPushButton('Start', self) 
     startButton.setToolTip('Start sharing wifi') 
     // when click 
     startButton.clicked.connect(self.start_hotspot) 

    @pyqtSlot() 
    def start_hotspot(self): 
     # show message in statusBar in QMainWindow 

Wie kann ich eine statusBar Nachricht in WifiHotspot zeigen, wenn Sie auf Startbutton von VirtualWiFi

+1

Gerade 'self.parent beziehen()' in 'start_hotspot'? –

+0

@a_guest Wo kann ich das setzen – gnoohtuk

+0

@a_guest danke, ich löste es mit Ihrer Hilfe, ich werde meine Frage bearbeitet – gnoohtuk

Antwort

0

Hier ist eine Antwort

** Antworten:

Erstellen Sie eine set_status_message in Wifi Hotspot

def set_status_message(self, message): 
     return self.statusBar().showMessage(message) 

Anruf aus start_hotspot (Selbst-)

def start_hotspot(self): 
     self.parent().set_status_message('hello world') 
Verwandte Themen