How to add QTabWidget Python



  • How do you make the Bullshit? answered a certain class for example alarmClockTab

    Please help me.

    from PyQt5 import QtWidgets, QtCore
    from PyQt5.QtWidgets import QApplication, QDialog, QTabWidget, QVBoxLayout
    import sys
    

    class Ui_Dialog(object):
    def setupUi(self, Dialog):
    Dialog.setObjectName("Dialog")
    Dialog.resize(544, 447)
    self.tabWidget = QtWidgets.QTabWidget(Dialog)
    self.tabWidget.setGeometry(QtCore.QRect(0, 10, 551, 441))
    self.tabWidget.setObjectName("tabWidget")
    self.alarmClockTab = QtWidgets.QWidget()
    self.alarmClockTab.setObjectName("alarmClockTab")
    self.deleteButton = QtWidgets.QPushButton(self.alarmClockTab)
    self.deleteButton.setGeometry(QtCore.QRect(490, 360, 41, 41))
    self.deleteButton.setObjectName("deleteButton")
    self.addButton = QtWidgets.QPushButton(self.alarmClockTab)
    self.addButton.setGeometry(QtCore.QRect(440, 360, 41, 41))
    self.addButton.setObjectName("addButton")
    self.tableWidget = QtWidgets.QTableWidget(self.alarmClockTab)
    self.tableWidget.setGeometry(QtCore.QRect(10, 10, 521, 341))
    self.tableWidget.setObjectName("tableWidget")
    self.tableWidget.setColumnCount(0)
    self.tableWidget.setRowCount(0)
    self.tabWidget.addTab(self.alarmClockTab, "")
    self.watchTab = QtWidgets.QWidget()
    self.watchTab.setObjectName("watchTab")
    self.tabWidget.addTab(self.watchTab, "")
    self.timerTab = QtWidgets.QWidget()
    self.timerTab.setObjectName("timerTab")
    self.tabWidget.addTab(self.timerTab, "")
    self.stopWatchTab = QtWidgets.QWidget()
    self.stopWatchTab.setObjectName("stopWatchTab")
    self.tabWidget.addTab(self.stopWatchTab, "")

        self.retranslateUi(Dialog)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
    
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Будильник и часы"))
        self.deleteButton.setText(_translate("Dialog", "-"))
        self.addButton.setText(_translate("Dialog", "+"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.alarmClockTab), _translate("Dialog", "Будильник"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.watchTab), _translate("Dialog", "Часы"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.timerTab), _translate("Dialog", "Таймер"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.stopWatchTab), _translate("Dialog", "Секундомер"))
    

    class Tab(QDialog):
    def init(self):
    super().init()
    tabwidget = QTabWidget()
    vbox = QVBoxLayout()
    vbox.addWidget(tabwidget)
    self.setLayout(vbox)

    if name == 'main':
    app = QApplication(sys.argv)
    ex = Tab()
    ex.show()
    sys.exit(app.exec())
    введите сюда код



  • Create another class that inherits from the relevant view and use the established class to fill it.

    import sys
    from PyQt5 import QtWidgets, QtCore, QtGui
    from PyQt5.Qt import *
    

    class Ui_Dialog(object):
    def setupUi(self, Dialog):
    Dialog.setObjectName("Dialog")
    Dialog.resize(544, 447)
    self.tabWidget = QtWidgets.QTabWidget(Dialog)
    self.tabWidget.setGeometry(QtCore.QRect(0, 10, 551, 441))
    self.tabWidget.setObjectName("tabWidget")

        self.alarmClockTab = QtWidgets.QWidget()
        self.alarmClockTab.setObjectName("alarmClockTab")
        self.deleteButton = QtWidgets.QPushButton(self.alarmClockTab)
        self.deleteButton.setGeometry(QtCore.QRect(490, 360, 41, 41))
        self.deleteButton.setObjectName("deleteButton")
        self.addButton = QtWidgets.QPushButton(self.alarmClockTab)
        self.addButton.setGeometry(QtCore.QRect(440, 360, 41, 41))
        self.addButton.setObjectName("addButton")
        self.tableWidget = QtWidgets.QTableWidget(self.alarmClockTab)
        self.tableWidget.setGeometry(QtCore.QRect(10, 10, 521, 341))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(5)
        self.tableWidget.setRowCount(0)
        self.tabWidget.addTab(self.alarmClockTab, "")
        
        self.watchTab = QtWidgets.QWidget()
        self.watchTab.setObjectName("watchTab")
        self.tabWidget.addTab(self.watchTab, "")
        self.timerTab = QtWidgets.QWidget()
        self.timerTab.setObjectName("timerTab")
        self.tabWidget.addTab(self.timerTab, "")
        self.stopWatchTab = QtWidgets.QWidget()
        self.stopWatchTab.setObjectName("stopWatchTab")
        self.tabWidget.addTab(self.stopWatchTab, "")
    
        self.retranslateUi(Dialog)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
    
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Будильник и часы"))
        self.deleteButton.setText(_translate("Dialog", "-"))
        self.addButton.setText(_translate("Dialog", "+"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.alarmClockTab), _translate("Dialog", "Будильник"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.watchTab), _translate("Dialog", "Часы"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.timerTab), _translate("Dialog", "Таймер"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.stopWatchTab), _translate("Dialog", "Секундомер"))
    

    class Tab(QDialog, Ui_Dialog): # +++ , Ui_Dialog
    def init(self):
    super().init()

        self.setupUi(self)                             # +++
    

    + vvv тут ваша логика vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

        self.addButton.clicked.connect(self.add_row)
        
        
    def add_row(self):
        rowPosition = self.tableWidget.rowCount()
        self.tableWidget.insertRow(rowPosition)
    

    '''
    tabwidget = QTabWidget()
    vbox = QVBoxLayout()
    vbox.addWidget(tabwidget)
    self.setLayout(vbox)
    '''

    if name == 'main':
    app = QApplication(sys.argv)
    ex = Tab()
    ex.show()
    sys.exit(app.exec())

    введите сюда описание изображения



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2