class Ui_IncomeSpendingReportWidget(object): def setupUi(self, IncomeSpendingReportWidget): if not IncomeSpendingReportWidget.objectName(): IncomeSpendingReportWidget.setObjectName( u"IncomeSpendingReportWidget") IncomeSpendingReportWidget.resize(595, 347) self.verticalLayout = QVBoxLayout(IncomeSpendingReportWidget) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.ReportParamsFrame = QFrame(IncomeSpendingReportWidget) self.ReportParamsFrame.setObjectName(u"ReportParamsFrame") self.ReportParamsFrame.setFrameShape(QFrame.Panel) self.ReportParamsFrame.setFrameShadow(QFrame.Sunken) self.horizontalLayout = QHBoxLayout(self.ReportParamsFrame) self.horizontalLayout.setSpacing(6) self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setContentsMargins(2, 2, 2, 2) self.ReportRange = DateRangeSelector(self.ReportParamsFrame) self.ReportRange.setObjectName(u"ReportRange") self.ReportRange.setProperty("ItemsList", u"QTD;YTD;this_year;last_year") self.horizontalLayout.addWidget(self.ReportRange) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(self.horizontalSpacer) self.verticalLayout.addWidget(self.ReportParamsFrame) self.ReportTreeView = QTreeView(IncomeSpendingReportWidget) self.ReportTreeView.setObjectName(u"ReportTreeView") self.ReportTreeView.setEditTriggers(QAbstractItemView.NoEditTriggers) self.ReportTreeView.setAlternatingRowColors(True) self.ReportTreeView.header().setStretchLastSection(False) self.verticalLayout.addWidget(self.ReportTreeView) self.retranslateUi(IncomeSpendingReportWidget) QMetaObject.connectSlotsByName(IncomeSpendingReportWidget) # setupUi def retranslateUi(self, IncomeSpendingReportWidget): IncomeSpendingReportWidget.setWindowTitle( QCoreApplication.translate("IncomeSpendingReportWidget", u"Income/Spending", None))
class Window(QWidget): def __init__(self): super(Window, self).__init__() self.proxyModel = QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) self.sourceGroupBox = QGroupBox("Original Model") self.proxyGroupBox = QGroupBox("Sorted/Filtered Model") self.sourceView = QTreeView() self.sourceView.setRootIsDecorated(False) self.sourceView.setAlternatingRowColors(True) self.proxyView = QTreeView() self.proxyView.setRootIsDecorated(False) self.proxyView.setAlternatingRowColors(True) self.proxyView.setModel(self.proxyModel) self.proxyView.setSortingEnabled(True) self.sortCaseSensitivityCheckBox = QCheckBox("Case sensitive sorting") self.filterCaseSensitivityCheckBox = QCheckBox("Case sensitive filter") self.filterPatternLineEdit = QLineEdit() self.filterPatternLineEdit.setClearButtonEnabled(True) self.filterPatternLabel = QLabel("&Filter pattern:") self.filterPatternLabel.setBuddy(self.filterPatternLineEdit) self.filterSyntaxComboBox = QComboBox() self.filterSyntaxComboBox.addItem("Regular expression", REGULAR_EXPRESSION) self.filterSyntaxComboBox.addItem("Wildcard", WILDCARD) self.filterSyntaxComboBox.addItem("Fixed string", FIXED_STRING) self.filterSyntaxLabel = QLabel("Filter &syntax:") self.filterSyntaxLabel.setBuddy(self.filterSyntaxComboBox) self.filterColumnComboBox = QComboBox() self.filterColumnComboBox.addItem("Subject") self.filterColumnComboBox.addItem("Sender") self.filterColumnComboBox.addItem("Date") self.filterColumnLabel = QLabel("Filter &column:") self.filterColumnLabel.setBuddy(self.filterColumnComboBox) self.filterPatternLineEdit.textChanged.connect(self.filterRegExpChanged) self.filterSyntaxComboBox.currentIndexChanged.connect(self.filterRegExpChanged) self.filterColumnComboBox.currentIndexChanged.connect(self.filterColumnChanged) self.filterCaseSensitivityCheckBox.toggled.connect(self.filterRegExpChanged) self.sortCaseSensitivityCheckBox.toggled.connect(self.sortChanged) sourceLayout = QHBoxLayout() sourceLayout.addWidget(self.sourceView) self.sourceGroupBox.setLayout(sourceLayout) proxyLayout = QGridLayout() proxyLayout.addWidget(self.proxyView, 0, 0, 1, 3) proxyLayout.addWidget(self.filterPatternLabel, 1, 0) proxyLayout.addWidget(self.filterPatternLineEdit, 1, 1, 1, 2) proxyLayout.addWidget(self.filterSyntaxLabel, 2, 0) proxyLayout.addWidget(self.filterSyntaxComboBox, 2, 1, 1, 2) proxyLayout.addWidget(self.filterColumnLabel, 3, 0) proxyLayout.addWidget(self.filterColumnComboBox, 3, 1, 1, 2) proxyLayout.addWidget(self.filterCaseSensitivityCheckBox, 4, 0, 1, 2) proxyLayout.addWidget(self.sortCaseSensitivityCheckBox, 4, 2) self.proxyGroupBox.setLayout(proxyLayout) mainLayout = QVBoxLayout() mainLayout.addWidget(self.sourceGroupBox) mainLayout.addWidget(self.proxyGroupBox) self.setLayout(mainLayout) self.setWindowTitle("Basic Sort/Filter Model") self.resize(500, 450) self.proxyView.sortByColumn(1, Qt.AscendingOrder) self.filterColumnComboBox.setCurrentIndex(1) self.filterPatternLineEdit.setText("Andy|Grace") self.filterCaseSensitivityCheckBox.setChecked(True) self.sortCaseSensitivityCheckBox.setChecked(True) def setSourceModel(self, model): self.proxyModel.setSourceModel(model) self.sourceView.setModel(model) def filterRegExpChanged(self): syntax_nr = self.filterSyntaxComboBox.currentData() pattern = self.filterPatternLineEdit.text() if syntax_nr == WILDCARD: pattern = QRegularExpression.wildcardToRegularExpression(pattern) elif syntax_nr == FIXED_STRING: pattern = QRegularExpression.escape(pattern) regExp = QRegularExpression(pattern) if not self.filterCaseSensitivityCheckBox.isChecked(): options = regExp.patternOptions() options |= QRegularExpression.CaseInsensitiveOption regExp.setPatternOptions(options) self.proxyModel.setFilterRegularExpression(regExp) def filterColumnChanged(self): self.proxyModel.setFilterKeyColumn(self.filterColumnComboBox.currentIndex()) def sortChanged(self): if self.sortCaseSensitivityCheckBox.isChecked(): caseSensitivity = Qt.CaseSensitive else: caseSensitivity = Qt.CaseInsensitive self.proxyModel.setSortCaseSensitivity(caseSensitivity)
class Ui_HoldingsWidget(object): def setupUi(self, HoldingsWidget): if not HoldingsWidget.objectName(): HoldingsWidget.setObjectName(u"HoldingsWidget") HoldingsWidget.resize(1066, 589) self.verticalLayout = QVBoxLayout(HoldingsWidget) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.HoldingsParamsFrame = QFrame(HoldingsWidget) self.HoldingsParamsFrame.setObjectName(u"HoldingsParamsFrame") self.HoldingsParamsFrame.setFrameShape(QFrame.Panel) self.HoldingsParamsFrame.setFrameShadow(QFrame.Sunken) self.horizontalLayout_8 = QHBoxLayout(self.HoldingsParamsFrame) self.horizontalLayout_8.setSpacing(6) self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") self.horizontalLayout_8.setContentsMargins(2, 2, 2, 2) self.HoldingsDate = QDateEdit(self.HoldingsParamsFrame) self.HoldingsDate.setObjectName(u"HoldingsDate") self.HoldingsDate.setDateTime( QDateTime(QDate(2020, 11, 24), QTime(21, 0, 0))) self.HoldingsDate.setCalendarPopup(True) self.HoldingsDate.setTimeSpec(Qt.UTC) self.horizontalLayout_8.addWidget(self.HoldingsDate) self.HoldingsCurrencyLbl = QLabel(self.HoldingsParamsFrame) self.HoldingsCurrencyLbl.setObjectName(u"HoldingsCurrencyLbl") self.horizontalLayout_8.addWidget(self.HoldingsCurrencyLbl) self.HoldingsCurrencyCombo = CurrencyComboBox(self.HoldingsParamsFrame) self.HoldingsCurrencyCombo.setObjectName(u"HoldingsCurrencyCombo") self.horizontalLayout_8.addWidget(self.HoldingsCurrencyCombo) self.horizontalSpacer = QSpacerItem(1411, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout_8.addItem(self.horizontalSpacer) self.verticalLayout.addWidget(self.HoldingsParamsFrame) self.HoldingsTableView = QTreeView(HoldingsWidget) self.HoldingsTableView.setObjectName(u"HoldingsTableView") self.HoldingsTableView.setFrameShape(QFrame.Panel) self.HoldingsTableView.setAlternatingRowColors(True) self.HoldingsTableView.setAnimated(True) self.HoldingsTableView.setAllColumnsShowFocus(True) self.verticalLayout.addWidget(self.HoldingsTableView) self.retranslateUi(HoldingsWidget) QMetaObject.connectSlotsByName(HoldingsWidget) # setupUi def retranslateUi(self, HoldingsWidget): HoldingsWidget.setWindowTitle( QCoreApplication.translate("HoldingsWidget", u"Holdings", None)) self.HoldingsDate.setDisplayFormat( QCoreApplication.translate("HoldingsWidget", u"dd/MM/yyyy", None)) self.HoldingsCurrencyLbl.setText( QCoreApplication.translate("HoldingsWidget", u"Common currency:", None))
class Ui_ReferenceDataDialog(object): def setupUi(self, ReferenceDataDialog): if not ReferenceDataDialog.objectName(): ReferenceDataDialog.setObjectName(u"ReferenceDataDialog") ReferenceDataDialog.resize(869, 300) self.verticalLayout = QVBoxLayout(ReferenceDataDialog) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(2, 2, 2, 2) self.EditFrame = QFrame(ReferenceDataDialog) self.EditFrame.setObjectName(u"EditFrame") sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.EditFrame.sizePolicy().hasHeightForWidth()) self.EditFrame.setSizePolicy(sizePolicy) self.EditFrame.setFrameShape(QFrame.Panel) self.EditFrame.setFrameShadow(QFrame.Plain) self.EditFrame.setLineWidth(0) self.edit_layout = QHBoxLayout(self.EditFrame) self.edit_layout.setObjectName(u"edit_layout") self.edit_layout.setContentsMargins(0, 0, 0, 0) self.GroupLbl = QLabel(self.EditFrame) self.GroupLbl.setObjectName(u"GroupLbl") self.edit_layout.addWidget(self.GroupLbl) self.GroupCombo = QComboBox(self.EditFrame) self.GroupCombo.setObjectName(u"GroupCombo") self.edit_layout.addWidget(self.GroupCombo) self.Toggle = QCheckBox(self.EditFrame) self.Toggle.setObjectName(u"Toggle") self.Toggle.setChecked(False) self.edit_layout.addWidget(self.Toggle) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.edit_layout.addItem(self.horizontalSpacer) self.AddBtn = QPushButton(self.EditFrame) self.AddBtn.setObjectName(u"AddBtn") self.edit_layout.addWidget(self.AddBtn) self.AddChildBtn = QPushButton(self.EditFrame) self.AddChildBtn.setObjectName(u"AddChildBtn") self.edit_layout.addWidget(self.AddChildBtn) self.RemoveBtn = QPushButton(self.EditFrame) self.RemoveBtn.setObjectName(u"RemoveBtn") self.edit_layout.addWidget(self.RemoveBtn) self.CommitBtn = QPushButton(self.EditFrame) self.CommitBtn.setObjectName(u"CommitBtn") self.CommitBtn.setEnabled(False) self.edit_layout.addWidget(self.CommitBtn) self.RevertBtn = QPushButton(self.EditFrame) self.RevertBtn.setObjectName(u"RevertBtn") self.RevertBtn.setEnabled(False) self.edit_layout.addWidget(self.RevertBtn) self.verticalLayout.addWidget(self.EditFrame) self.SearchFrame = QFrame(ReferenceDataDialog) self.SearchFrame.setObjectName(u"SearchFrame") self.SearchFrame.setFrameShape(QFrame.Panel) self.SearchFrame.setFrameShadow(QFrame.Plain) self.SearchFrame.setLineWidth(0) self.search_layout = QHBoxLayout(self.SearchFrame) self.search_layout.setObjectName(u"search_layout") self.search_layout.setContentsMargins(0, 0, 0, 0) self.SearchLbl = QLabel(self.SearchFrame) self.SearchLbl.setObjectName(u"SearchLbl") self.search_layout.addWidget(self.SearchLbl) self.SearchString = QLineEdit(self.SearchFrame) self.SearchString.setObjectName(u"SearchString") self.search_layout.addWidget(self.SearchString) self.verticalLayout.addWidget(self.SearchFrame) self.DataView = QTableView(ReferenceDataDialog) self.DataView.setObjectName(u"DataView") self.DataView.setEditTriggers(QAbstractItemView.AnyKeyPressed | QAbstractItemView.EditKeyPressed | QAbstractItemView.SelectedClicked) self.DataView.setAlternatingRowColors(True) self.DataView.setSelectionBehavior(QAbstractItemView.SelectRows) self.DataView.verticalHeader().setVisible(True) self.DataView.verticalHeader().setMinimumSectionSize(20) self.DataView.verticalHeader().setDefaultSectionSize(20) self.verticalLayout.addWidget(self.DataView) self.TreeView = QTreeView(ReferenceDataDialog) self.TreeView.setObjectName(u"TreeView") self.TreeView.setEditTriggers(QAbstractItemView.AnyKeyPressed | QAbstractItemView.EditKeyPressed | QAbstractItemView.SelectedClicked) self.TreeView.setTabKeyNavigation(True) self.TreeView.setAlternatingRowColors(True) self.TreeView.setSelectionMode(QAbstractItemView.ExtendedSelection) self.TreeView.setExpandsOnDoubleClick(False) self.TreeView.header().setStretchLastSection(False) self.verticalLayout.addWidget(self.TreeView) self.retranslateUi(ReferenceDataDialog) QMetaObject.connectSlotsByName(ReferenceDataDialog) # setupUi def retranslateUi(self, ReferenceDataDialog): ReferenceDataDialog.setWindowTitle( QCoreApplication.translate("ReferenceDataDialog", u"Reference Data", None)) self.GroupLbl.setText( QCoreApplication.translate("ReferenceDataDialog", u"Account Type:", None)) self.Toggle.setText( QCoreApplication.translate("ReferenceDataDialog", u"Show inactive", None)) #if QT_CONFIG(tooltip) self.AddBtn.setToolTip( QCoreApplication.translate("ReferenceDataDialog", u"Add new", None)) #endif // QT_CONFIG(tooltip) self.AddBtn.setText("") #if QT_CONFIG(tooltip) self.AddChildBtn.setToolTip( QCoreApplication.translate("ReferenceDataDialog", u"Add child", None)) #endif // QT_CONFIG(tooltip) self.AddChildBtn.setText("") #if QT_CONFIG(tooltip) self.RemoveBtn.setToolTip( QCoreApplication.translate("ReferenceDataDialog", u"Delete", None)) #endif // QT_CONFIG(tooltip) self.RemoveBtn.setText("") #if QT_CONFIG(tooltip) self.CommitBtn.setToolTip( QCoreApplication.translate("ReferenceDataDialog", u"Save changes", None)) #endif // QT_CONFIG(tooltip) self.CommitBtn.setText("") #if QT_CONFIG(tooltip) self.RevertBtn.setToolTip( QCoreApplication.translate("ReferenceDataDialog", u"Revert changes", None)) #endif // QT_CONFIG(tooltip) self.RevertBtn.setText("") self.SearchLbl.setText( QCoreApplication.translate("ReferenceDataDialog", u"Search:", None))