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())