1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
import sys
from PyQt6.QtWidgets import *
class Home(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
print("Home Widget Load")
self.home_layout = QFormLayout(self)
self.home_layout.addRow("Username", QLineEdit(self))
self.home_layout.addRow("Password:", QLineEdit(self))
self.setLayout(self.home_layout)
class List(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
print("List Widget Load")
self.list_layout = QVBoxLayout()
self.list_table = QTableWidget()
self.list_table.setColumnCount(3)
self.list_table.setRowCount(0)
self.list_table.setSortingEnabled(True)
self.list_table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
self.list_table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
self.list_header = self.list_table.horizontalHeader()
self.list_header.setSectionResizeMode(QHeaderView.ResizeMode.Stretch)
self.list_table.setHorizontalHeaderItem(0, QTableWidgetItem("Id"))
self.list_table.setHorizontalHeaderItem(1, QTableWidgetItem("Username"))
self.list_table.setHorizontalHeaderItem(2, QTableWidgetItem("Password"))
## Load Random Data
self.loadRandomData()
self.list_layout.addWidget(self.list_table)
self.setLayout(self.list_layout)
def loadRandomData(self):
for i in range(0, 500000):
self.list_table.insertRow(self.list_table.rowCount())
self.list_table.setItem(i, 0, QTableWidgetItem(f"{i}"))
self.list_table.setItem(i, 1, QTableWidgetItem(f"Username{i}"))
self.list_table.setItem(i, 2, QTableWidgetItem(f"qwerty{i}"))
class MainWindows(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Test Tab Load")
self.main_layout = QGridLayout(self)
self.setLayout(self.main_layout)
self.main_tab = QTabWidget(self)
self.main_tab.setUsesScrollButtons(True)
self.main_tab.addTab(Home(), "Home")
self.main_tab.addTab(List(), "List")
self.main_layout.addWidget(self.main_tab)
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindows()
sys.exit(app.exec()) |
Partager