Как получить доступ к кнопке из Tab Widget в PyQt5 - PullRequest
0 голосов
/ 19 апреля 2020

Я создал окно виджета вкладок в своем главном окне, используя Qt-Designer, и пытаюсь получить доступ к кнопке в моей 1-й вкладке.

Это мой код.

import sys
from PyQt5 import QtCore, QtGui,uic,QtWidgets


class AddWindow(QtWidgets.QDialog):
    def __init__(self):
        super(AddWindow,self).__init__()
        uic.loadUi('AddWindow.ui',self)


class MyApp(QtWidgets.QMainWindow):
    def __init__(self):
        super(MyApp,self).__init__()
        uic.loadUi('MainWindow.ui',self)

        self.AddButton.clicked.connect(self.Addwindow)



    def printW(self):
        print("hello")




    def Addwindow(self):
        addwindow=AddWindow()
        addwindow.exec_()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())

Я просто хочу, чтобы моя кнопка на 1-й вкладке (именованная печать) была связана с функцией printW, поэтому я могу что-то отобразить на экране.

Вот мой файл MainWindow.ui.

<?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>MainWindow</class>
     <widget class="QMainWindow" name="MainWindow">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>756</width>
        <height>549</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>MainWindow</string>
      </property>
      <widget class="QWidget" name="centralwidget">
       <widget class="QPushButton" name="AddButton">
        <property name="geometry">
         <rect>
          <x>630</x>
          <y>440</y>
          <width>121</width>
          <height>61</height>
         </rect>
        </property>
        <property name="font">
         <font>
          <pointsize>18</pointsize>
          <weight>50</weight>
          <italic>false</italic>
          <bold>false</bold>
          <underline>true</underline>
          <strikeout>false</strikeout>
         </font>
        </property>
        <property name="text">
         <string>Add</string>
        </property>
       </widget>
       <widget class="QPushButton" name="Next">
        <property name="geometry">
         <rect>
          <x>170</x>
          <y>420</y>
          <width>121</width>
          <height>51</height>
         </rect>
        </property>
        <property name="text">
         <string>Next</string>
        </property>
       </widget>
       <widget class="QTabWidget" name="tabWidget">
        <property name="geometry">
         <rect>
          <x>20</x>
          <y>50</y>
          <width>711</width>
          <height>311</height>
         </rect>
        </property>
        <property name="currentIndex">
         <number>2</number>
        </property>
        <widget class="QWidget" name="tab1">
         <attribute name="title">
          <string>Tab 1</string>
         </attribute>
         <widget class="QPushButton" name="print">
          <property name="geometry">
           <rect>
            <x>190</x>
            <y>100</y>
            <width>101</width>
            <height>51</height>
           </rect>
          </property>
          <property name="text">
           <string>print</string>
          </property>
         </widget>
        </widget>
        <widget class="QWidget" name="tab2">
         <attribute name="title">
          <string>tab 2</string>
         </attribute>
        </widget>
        <widget class="QWidget" name="tab3">
         <attribute name="title">
          <string>Page</string>
         </attribute>
        </widget>
       </widget>
      </widget>
      <widget class="QMenuBar" name="menubar">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>756</width>
         <height>21</height>
        </rect>
       </property>
      </widget>
      <widget class="QStatusBar" name="statusbar"/>
     </widget>
     <resources/>
     <connections/>
    </ui>

Я пытался создать класс и получить доступ к кнопке, но не смог этого сделать.

...