Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. PyQt5 öffnen Event

PyQt5 öffnen Event

Scheduled Pinned Locked Moved Solved German
19 Posts 4 Posters 1.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Julsenn

    @JonB sorry i'm still amateur. You mean here ?

    
    if __name__ == "__main__":
        
            import sys
        
            app = QtWidgets.QApplication(sys.argv)
        
            Handbetrieb = QtWidgets.QWidget()
        
            ui = Ui_Handbetrieb()
        
            ui.setupUi(Handbetrieb)
            Handbetrieb.show()  #here is the show event ?
    
        
        
        
            
        
            sys.exit(app.exec_())
    JonBJ Offline
    JonBJ Offline
    JonB
    wrote on last edited by JonB
    #10

    @Julsenn
    I can't type it all, but you will need to change over to like:

    class MeinHandbetrieb(QtWidgets.QWidget):
    
        def showEvent(self, ev):
            load(self)
            return QWidget.showEvent(self, ev)
    ...
    
    Handbetrieb = MeinHandbetrieb()
    ...
    Handbetrieb.show()
    
    

    I know you are an amateur, but for this and other things Qt you have to understand C++ sub-classing.

    1 Reply Last reply
    2
    • J Offline
      J Offline
      Julsenn
      wrote on last edited by
      #11

      ok thank you but i don't know how i implement this when i use the code always comes NameError: name 'Ui_Handbetrieb' is not defined. . :(

      1 Reply Last reply
      0
      • J Offline
        J Offline
        Julsenn
        wrote on last edited by
        #12
        from PyQt5 import QtCore, QtGui, QtWidgets
        
        
        class Ui_MainWindow(object):
        
            def save_text(self):
                with open("test.txt", "w") as f:
                    text = self.eingabe_1.toPlainText()
                    f.write(text)
        
            def open_text(self):                    #this automatically when window start
                with open("test.txt", "r") as f:
                   file_text = f.readlines()[0]                 
                   self.eingabe_2.setText(file_text)
            
            
            def setupUi(self, MainWindow):
                MainWindow.setObjectName("MainWindow")
                MainWindow.resize(800, 600)
                self.centralwidget = QtWidgets.QWidget(MainWindow)
                self.centralwidget.setObjectName("centralwidget")
                self.eingabe_1 = QtWidgets.QTextEdit(self.centralwidget)
                self.eingabe_1.setGeometry(QtCore.QRect(80, 180, 301, 51))
                self.eingabe_1.setObjectName("eingabe_1")
        
        
                
                self.eingabe_2 = QtWidgets.QTextEdit(self.centralwidget)
                self.eingabe_2.setGeometry(QtCore.QRect(80, 260, 301, 51))
                self.eingabe_2.setObjectName("eingabe_2")
        
        
                
                self.speichern_btn = QtWidgets.QPushButton(self.centralwidget)
                self.speichern_btn.setGeometry(QtCore.QRect(420, 180, 121, 51))
                self.speichern_btn.setObjectName("speichern_btn")
        
                self.speichern_btn.clicked.connect(self.save_text)
                
                self.oeffnen_btn = QtWidgets.QPushButton(self.centralwidget)
                self.oeffnen_btn.setGeometry(QtCore.QRect(580, 180, 131, 51))
                self.oeffnen_btn.setObjectName("oeffnen_btn")
        
                self.oeffnen_btn.clicked.connect(self.open_text)
                
                MainWindow.setCentralWidget(self.centralwidget)
                self.menubar = QtWidgets.QMenuBar(MainWindow)
                self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
                self.menubar.setObjectName("menubar")
                MainWindow.setMenuBar(self.menubar)
                self.statusbar = QtWidgets.QStatusBar(MainWindow)
                self.statusbar.setObjectName("statusbar")
                MainWindow.setStatusBar(self.statusbar)
        
                self.retranslateUi(MainWindow)
                QtCore.QMetaObject.connectSlotsByName(MainWindow)
        
            def retranslateUi(self, MainWindow):
                _translate = QtCore.QCoreApplication.translate
                MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
                self.speichern_btn.setText(_translate("MainWindow", "Speichern"))
                self.oeffnen_btn.setText(_translate("MainWindow", "Öffnen"))
        
        
        if __name__ == "__main__":
            import sys
            app = QtWidgets.QApplication(sys.argv)
            MainWindow = QtWidgets.QMainWindow()
            ui = Ui_MainWindow()
            ui.setupUi(MainWindow)
            MainWindow.show()
            sys.exit(app.exec_())
        
        
        JonBJ 1 Reply Last reply
        0
        • J Julsenn
          from PyQt5 import QtCore, QtGui, QtWidgets
          
          
          class Ui_MainWindow(object):
          
              def save_text(self):
                  with open("test.txt", "w") as f:
                      text = self.eingabe_1.toPlainText()
                      f.write(text)
          
              def open_text(self):                    #this automatically when window start
                  with open("test.txt", "r") as f:
                     file_text = f.readlines()[0]                 
                     self.eingabe_2.setText(file_text)
              
              
              def setupUi(self, MainWindow):
                  MainWindow.setObjectName("MainWindow")
                  MainWindow.resize(800, 600)
                  self.centralwidget = QtWidgets.QWidget(MainWindow)
                  self.centralwidget.setObjectName("centralwidget")
                  self.eingabe_1 = QtWidgets.QTextEdit(self.centralwidget)
                  self.eingabe_1.setGeometry(QtCore.QRect(80, 180, 301, 51))
                  self.eingabe_1.setObjectName("eingabe_1")
          
          
                  
                  self.eingabe_2 = QtWidgets.QTextEdit(self.centralwidget)
                  self.eingabe_2.setGeometry(QtCore.QRect(80, 260, 301, 51))
                  self.eingabe_2.setObjectName("eingabe_2")
          
          
                  
                  self.speichern_btn = QtWidgets.QPushButton(self.centralwidget)
                  self.speichern_btn.setGeometry(QtCore.QRect(420, 180, 121, 51))
                  self.speichern_btn.setObjectName("speichern_btn")
          
                  self.speichern_btn.clicked.connect(self.save_text)
                  
                  self.oeffnen_btn = QtWidgets.QPushButton(self.centralwidget)
                  self.oeffnen_btn.setGeometry(QtCore.QRect(580, 180, 131, 51))
                  self.oeffnen_btn.setObjectName("oeffnen_btn")
          
                  self.oeffnen_btn.clicked.connect(self.open_text)
                  
                  MainWindow.setCentralWidget(self.centralwidget)
                  self.menubar = QtWidgets.QMenuBar(MainWindow)
                  self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
                  self.menubar.setObjectName("menubar")
                  MainWindow.setMenuBar(self.menubar)
                  self.statusbar = QtWidgets.QStatusBar(MainWindow)
                  self.statusbar.setObjectName("statusbar")
                  MainWindow.setStatusBar(self.statusbar)
          
                  self.retranslateUi(MainWindow)
                  QtCore.QMetaObject.connectSlotsByName(MainWindow)
          
              def retranslateUi(self, MainWindow):
                  _translate = QtCore.QCoreApplication.translate
                  MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
                  self.speichern_btn.setText(_translate("MainWindow", "Speichern"))
                  self.oeffnen_btn.setText(_translate("MainWindow", "Öffnen"))
          
          
          if __name__ == "__main__":
              import sys
              app = QtWidgets.QApplication(sys.argv)
              MainWindow = QtWidgets.QMainWindow()
              ui = Ui_MainWindow()
              ui.setupUi(MainWindow)
              MainWindow.show()
              sys.exit(app.exec_())
          
          
          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by
          #13

          @Julsenn

              ui = Ui_MainWindow()
              ui.setupUi(MainWindow)
              # insert the following line
              # (not the best way to do it, but simplest from where you are now)
              ui.open_text()
              MainWindow.show()
          
          1 Reply Last reply
          2
          • J Offline
            J Offline
            Julsenn
            wrote on last edited by
            #14

            @JonB thank you so much, finally it works :D :D so easy :D

            JonBJ 1 Reply Last reply
            1
            • J Julsenn

              @JonB thank you so much, finally it works :D :D so easy :D

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #15

              @Julsenn
              Yes :) But it probably is not the right way of doing it.

              When do you think you are going to call your save_text()? You are going to have a problem trying to do that the same way... :(

              1 Reply Last reply
              0
              • J Offline
                J Offline
                Julsenn
                wrote on last edited by
                #16

                @JonB i dont want to call the save_text its just a TestWindow in my Main Projekt i dont have the save_text. Thank you.

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  Julsenn
                  wrote on last edited by
                  #17

                  but now when i start the window from a other window it does not work ? :(

                  JonBJ 1 Reply Last reply
                  0
                  • J Julsenn

                    but now when i start the window from a other window it does not work ? :(

                    JonBJ Offline
                    JonBJ Offline
                    JonB
                    wrote on last edited by
                    #18

                    @Julsenn
                    Don't know what you mean. You can see the code and how it works, so long as ui.open_text() is called before whatever window has the self.pushButton() is shown then the text will be read in & set. Use a debugger, or put in some print()-type statements, to see what is/is not being called at what point. That is what developing programs is all about :)

                    1 Reply Last reply
                    0
                    • J Offline
                      J Offline
                      Julsenn
                      wrote on last edited by
                      #19

                      @JonB okey thanks i try

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved