def createMailModel(parent): model = QtGui.QStandardItemModel(0, 3, parent) model.setHeaderData(0, QtCore.Qt.Horizontal, "Subject") model.setHeaderData(1, QtCore.Qt.Horizontal, "Sender") model.setHeaderData(2, QtCore.Qt.Horizontal, "Date") addMail(model, "Happy New Year!", "Grace K. <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2006, 12, 31), QtCore.QTime(17, 3))) addMail(model, "Radically new concept", "Grace K. <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2006, 12, 22), QtCore.QTime(9, 44))) addMail(model, "Accounts", "*****@*****.**", QtCore.QDateTime(QtCore.QDate(2006, 12, 31), QtCore.QTime(12, 50))) addMail(model, "Expenses", "Joe Bloggs <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2006, 12, 25), QtCore.QTime(11, 39))) addMail(model, "Re: Expenses", "Andy <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 2), QtCore.QTime(16, 5))) addMail(model, "Re: Accounts", "Joe Bloggs <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 3), QtCore.QTime(14, 18))) addMail(model, "Re: Accounts", "Andy <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 3), QtCore.QTime(14, 26))) addMail(model, "Sports", "Linda Smith <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(11, 33))) addMail(model, "AW: Sports", "Rolf Newschweinstein <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(12, 0))) addMail(model, "RE: Sports", "Petra Schmidt <*****@*****.**>", QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(12, 1))) return model
def get_tick_time(self, tick_time): if self.run_tick_start_time == 0: tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(tick_time.year, tick_time.month, tick_time.day)) tick_date_time.setTime( QtCore.QTime(tick_time.hour, tick_time.minute, tick_time.second)) return tick_date_time start_time = self.run_tick_start_time.toSecsSinceEpoch() tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(tick_time.year, tick_time.month, tick_time.day)) tick_date_time.setTime( QtCore.QTime(tick_time.hour, tick_time.minute, tick_time.second)) run_time = tick_date_time.toSecsSinceEpoch() diff_time_idx = int( (run_time - start_time) / SettingFactor().KBarInterval) tick_sec_time = start_time + (diff_time_idx * SettingFactor().KBarInterval) tick_date_time.setSecsSinceEpoch(tick_sec_time) return tick_date_time
def getFirstAndLastTransactionDates(self): keys = list(filter(lambda k: len(self.allData[k]) > 0, sorted(list(self.allData.keys())))) if len(keys) == 0: return QtCore.QDate(0, 0, 0), QtCore.QDate(0, 0, 0) minDate = min(self.allData[keys[0]], key=lambda t: t.date).date maxDate = max(self.allData[keys[-1]], key=lambda t: t.date).date return QtCore.QDate(minDate.year, minDate.month, minDate.day), QtCore.QDate(maxDate.year, maxDate.month, maxDate.day)
def set_fs_time_limits_slot(self, limits: tuple): """Shows active days based on the millisecond timestamp limits """ self.day_min = datetime.date.fromtimestamp(limits[0] / 1000) self.day_max = datetime.date.fromtimestamp(limits[1] / 1000) print("CalendarWidget: set_fs_time_limits_slot %s -> %s" % (str(self.day_min), str(self.day_max))) self.setDateRange( QtCore.QDate(self.day_min.year, self.day_min.month, self.day_min.day), QtCore.QDate(self.day_max.year, self.day_max.month, self.day_max.day))
def updateDateTime (self): filter1 = self.df.index.get_level_values('ID') == self.id.currentText() filter2 = self.df.index.get_level_values('ContractMonth') == self.month.currentText() df = self.df.iloc[filter1 & filter2] df = df.sort_values ('Date_Time') if df.empty: return start = df['Date_Time'][0] end = df['Date_Time'][-1] self.start_date.setDate (QtCore.QDate (start.year, start.month, start.day)) self.start_time.setTime (QtCore.QTime (start.hour, start.minute)) self.end_date.setDate (QtCore.QDate (end.year, end.month, end.day)) self.end_time.setTime (QtCore.QTime (end.hour, end.minute))
def __init__(self): super(MainWindow, self).__init__() self.selectedDate = QtCore.QDate.currentDate() self.fontSize = 10 centralWidget = QtGui.QWidget() dateLabel = QtGui.QLabel("Date:") monthCombo = QtGui.QComboBox() for month in range(1, 13): monthCombo.addItem(QtCore.QDate.longMonthName(month)) yearEdit = QtGui.QDateTimeEdit() yearEdit.setDisplayFormat('yyyy') yearEdit.setDateRange(QtCore.QDate(1753, 1, 1), QtCore.QDate(8000, 1, 1)) monthCombo.setCurrentIndex(self.selectedDate.month() - 1) yearEdit.setDate(self.selectedDate) self.fontSizeLabel = QtGui.QLabel("Font size:") self.fontSizeSpinBox = QtGui.QSpinBox() self.fontSizeSpinBox.setRange(1, 64) self.fontSizeSpinBox.setValue(10) self.editor = QtGui.QTextBrowser() self.insertCalendar() monthCombo.activated[int].connect(self.setMonth) yearEdit.dateChanged.connect(self.setYear) self.fontSizeSpinBox.valueChanged.connect(self.setfontSize) controlsLayout = QtGui.QHBoxLayout() controlsLayout.addWidget(dateLabel) controlsLayout.addWidget(monthCombo) controlsLayout.addWidget(yearEdit) controlsLayout.addSpacing(24) controlsLayout.addWidget(self.fontSizeLabel) controlsLayout.addWidget(self.fontSizeSpinBox) controlsLayout.addStretch(1) centralLayout = QtGui.QVBoxLayout() centralLayout.addLayout(controlsLayout) centralLayout.addWidget(self.editor, 1) centralWidget.setLayout(centralLayout) self.setCentralWidget(centralWidget)
def kbar_deal_mark(self, deal): go = 1 count = deal.Count if go > 0 else -deal.Count if self.trade.long_short == deal.LongShort: self.record_trade.count = self.record_trade.count + (deal.Count * go) else: self.record_trade.count = self.record_trade.count - (deal.Count * go) if self.record_trade.count == 0: self.record_trade.long_short = True tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(deal.Date_Time.year, deal.Date_Time.month, deal.Date_Time.day)) tick_date_time.setTime( QtCore.QTime(deal.Date_Time.hour, deal.Date_Time.minute, deal.Date_Time.second)) loc = int( (tick_date_time.toTime_t() - self.run_tick_start_time.toTime_t()) / SettingFactor().KBarInterval) mark = SimpleNamespace(idx=0, posx=loc, count=self.record_trade.count, long_short=deal.LongShort, Date_Time=tick_date_time, Close=deal.Close) if self.record_trade.count > 0: mark.text = "+" + str(self.record_trade.count) else: mark.text = str(self.record_trade.count) self.priceRecordPosition.append(mark)
def review_prev_done(self, prev_time): self.setUpdatesEnabled(False) tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(prev_time.year, prev_time.month, prev_time.day)) tick_date_time.setTime( QtCore.QTime(prev_time.hour, prev_time.minute, prev_time.second)) self.run_time = tick_date_time start_time = self.run_tick_start_time.toSecsSinceEpoch() run_time = tick_date_time.toSecsSinceEpoch() diff_time_idx = int( (run_time - start_time) / SettingFactor().KBarInterval) - 1 diff_run_count = self.run_idx - diff_time_idx self.run_idx = diff_time_idx tmp = [] for tick_time in self.candle: if tick_time >= tick_date_time: tmp.append(tick_time) for tick_time in tmp: del self.candle[tick_time] for i in range(0, diff_run_count): candle = self.candlesTick.pop() self.candlesTick.generatePicture(True) self.setUpdatesEnabled(True)
def __init__(self): QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.dateEdit.setDate(QtCore.QDate.currentDate()) self.ui.dateEdit.setMinimumDate(QtCore.QDate.currentDate()) self.ui.dateEdit.setMaximumDate(QtCore.QDate(8181, 12, 31)) self.ui.AddBtn.clicked.connect(self.save) self.ui.lineEdit.returnPressed.connect(self.save) self.db = QSqlDatabase.addDatabase("QSQLITE") self.db.setDatabaseName("store") dateMe = QtCore.QDate.currentDate() self.db.open() self.que = QSqlQuery("CREATE Table urgent (priority integer, " "task varchar(256), date datetime);") if self.que.exec_: print("Executed successful.") self.que = QSqlQuery("CREATE Table priority (priority integer, " "task varchar(256), date datetime);") if self.que.exec_: print("Executed successful.") self.que = QSqlQuery("CREATE Table dueDate (priority integer, " "task varchar(256), date datetime);") if self.que.exec_: print("Executed successful.") self.load("priority") self.load("urgent") self.load("dueDate") self.ui.priority.itemDoubleClicked.connect(self.editPriority) self.ui.urgent.itemDoubleClicked.connect(self.editUrgent) self.ui.dueDate.itemDoubleClicked.connect(self.editDueDate)
def btn_clear_click(self): # действие на кнопку Очистить date = QtCore.QDate().currentDate() self.ui.de_start.setDate(date) self.ui.de_stop.setDate(date) self.ui.ed_clientnumber.clear() self.ui.cb_whocalledtype.setCurrentIndex(0)
def cadastra_membro(): nome = c_membro.le_nome.text() endereco = c_membro.le_endereco.text() d_bat = c_membro.le_d_bat.text() d_con = c_membro.le_d_con.text() contato = c_membro.le_contato.text() rg = c_membro.le_rg.text() cpf = c_membro.le_cpf.text() cargo = str(c_membro.combo_cargo.currentText()) if nome != "" and endereco != "" and len(d_bat) == 10 and len( d_con) == 10 and len(contato) == 16 and len( rg) == 13 and len(cpf) == 14: if cpf_db(cpf) == True: if verificar_cpf(cpf) == True: try: db = conecta_db(meu_db[0]) cursor = db.cursor() sql = "INSERT INTO clientes(nome, endereco, rg, cpf, contato, cargo, d_bat, d_con) VALUES(%s, %s, %s, %s, %s, %s, %s, %s)" val = (str(nome), str(endereco), str(rg), str(cpf), str(contato), str(cargo), str(d_bat), str(d_con)) cursor.execute(sql, val) db.commit() aviso("Cadastro de Membro", "Cadastro efetuado com sucesso...") c_membro.le_nome.clear() c_membro.le_endereco.clear() c_membro.le_d_bat.setDate(QtCore.QDate(2000, 1, 1)) c_membro.le_d_con.setDate(QtCore.QDate(2000, 1, 1)) c_membro.le_contato.clear() c_membro.le_rg.clear() c_membro.le_cpf.clear() except BaseException as erro: print("Erro no cadastrado do cliente.", str(erro)) finally: cursor.close() db.close() else: aviso("Cadastro de Membro", "CPF Inválido, digite um cpf real") else: aviso("Cadastro de Membro", "CPF já cadastrado no banco") else: aviso("Cadastro de Membro", "Por favor prencha todos os parâmetros")
def createDateTimeEdits(self): self.editsGroup = QtGui.QGroupBox("Date and time spin boxes") dateLabel = QtGui.QLabel() dateEdit = QtGui.QDateEdit(QtCore.QDate.currentDate()) dateEdit.setDateRange(QtCore.QDate(2005, 1, 1), QtCore.QDate(2010, 12, 31)) dateLabel.setText("Appointment date (between %s and %s):" % (dateEdit.minimumDate().toString(QtCore.Qt.ISODate), dateEdit.maximumDate().toString(QtCore.Qt.ISODate))) timeLabel = QtGui.QLabel() timeEdit = QtGui.QTimeEdit(QtCore.QTime.currentTime()) timeEdit.setTimeRange(QtCore.QTime(9, 0, 0, 0), QtCore.QTime(16, 30, 0, 0)) timeLabel.setText("Appointment time (between %s and %s):" % (timeEdit.minimumTime().toString(QtCore.Qt.ISODate), timeEdit.maximumTime().toString(QtCore.Qt.ISODate))) self.meetingLabel = QtGui.QLabel() self.meetingEdit = QtGui.QDateTimeEdit( QtCore.QDateTime.currentDateTime()) formatLabel = QtGui.QLabel( "Format string for the meeting date and time:") formatComboBox = QtGui.QComboBox() formatComboBox.addItem('yyyy-MM-dd hh:mm:ss (zzz \'ms\')') formatComboBox.addItem('hh:mm:ss MM/dd/yyyy') formatComboBox.addItem('hh:mm:ss dd/MM/yyyy') formatComboBox.addItem('hh:mm:ss') formatComboBox.addItem('hh:mm ap') formatComboBox.activated[str].connect(self.setFormatString) self.setFormatString(formatComboBox.currentText()) editsLayout = QtGui.QVBoxLayout() editsLayout.addWidget(dateLabel) editsLayout.addWidget(dateEdit) editsLayout.addWidget(timeLabel) editsLayout.addWidget(timeEdit) editsLayout.addWidget(self.meetingLabel) editsLayout.addWidget(self.meetingEdit) editsLayout.addWidget(formatLabel) editsLayout.addWidget(formatComboBox) self.editsGroup.setLayout(editsLayout)
def setDay(self, day: datetime.date): """Setting the day acts as a global initializator """ assert (isinstance(day, datetime.date)) self.day = day # from datetime.date to Qt's QDate self.qday = QtCore.QDate(self.day.year, self.day.month, self.day.day) self.setSelectedDate(self.qday)
def setFormatString(self, formatString): self.meetingEdit.setDisplayFormat(formatString) if self.meetingEdit.displayedSections( ) & QtGui.QDateTimeEdit.DateSections_Mask: self.meetingEdit.setDateRange(QtCore.QDate(2004, 11, 1), QtCore.QDate(2005, 11, 30)) self.meetingLabel.setText( "Meeting date (between %s and %s):" % (self.meetingEdit.minimumDate().toString(QtCore.Qt.ISODate), self.meetingEdit.maximumDate().toString(QtCore.Qt.ISODate))) else: self.meetingEdit.setTimeRange(QtCore.QTime(0, 7, 20, 0), QtCore.QTime(21, 0, 0, 0)) self.meetingLabel.setText( "Meeting time (between %s and %s):" % (self.meetingEdit.minimumTime().toString(QtCore.Qt.ISODate), self.meetingEdit.maximumTime().toString(QtCore.Qt.ISODate)))
def __init__(self, hall, parent=None): """ Inicijalizator dijaloga za dodavanje novog proivoda. :param hall: selektovana hala :type hall: Hall :param parent: roditeljski widget. :type parent: QWidget """ super().__init__(parent) self.setWindowTitle("Dodaj proizvod") self.setWindowIcon(QIcon("resources/icons/plus.png")) self.resize(350, 256) self.button_box = QtWidgets.QDialogButtonBox(self) self.button_box.setGeometry(QtCore.QRect(200, 200, 140, 32)) self.button_box.setOrientation(QtCore.Qt.Horizontal) self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self.hall = hall self.item = QtWidgets.QLabel(self) self.item.setText("Ime proizvoda") self.item.setGeometry(QtCore.QRect(10, 30, 111, 16)) self.item_name_input = QtWidgets.QComboBox(self) self.item_name_input.setGeometry(QtCore.QRect(200, 20, 110, 22)) self._available_items() self.expiration_date = QtWidgets.QLabel(self) self.expiration_date.setText("Rok upotrebe") self.expiration_date.setGeometry(QtCore.QRect(10, 60, 111, 16)) self.expiration_date_input = QtWidgets.QDateEdit(self) self.expiration_date_input.setGeometry(QtCore.QRect(200, 60, 110, 22)) self.expiration_date_input.setMaximumDate(QtCore.QDate(2090, 12, 31)) self.expiration_date_input.setCalendarPopup(True) self.expiration_date_input.setDate(QtCore.QDate.currentDate()) self.expiration_date_input.setDisplayFormat("dd.MM.yyyy") self.item_count = QtWidgets.QLabel(self) self.item_count.setGeometry(QtCore.QRect(10, 100, 55, 16)) self.item_count.setText("Količina") self.item_count_input = QtWidgets.QSpinBox(self) self.item_count_input.setGeometry(QtCore.QRect(200, 100, 110, 22)) self.item_count_input.setMaximum(self.num_of_places()) self.temperature = QtWidgets.QLabel(self) self.temperature.setGeometry(QtCore.QRect(10, 140, 171, 16)) self.temperature.setText("Temperatura za čuvanje") self.temperature_input = QtWidgets.QSpinBox(self) self.temperature_input.setGeometry(QtCore.QRect(200, 130, 110, 22)) self._set_temperature() self.button_box.accepted.connect(self._on_accept) self.button_box.rejected.connect(self.reject) self.new_item = None
def __init__(self, parent=None, dodaj=True, proizvod=None): super().__init__(parent) if dodaj: self.setWindowTitle("Dodaj proizvod") self.setWindowIcon(QtGui.QIcon("resources/icons/fruit.png")) else: self.setWindowTitle("Izmeni proizvod") self.setWindowIcon( QtGui.QIcon("resources/icons/fruit-apple-half.png")) self._dodaj = dodaj self._proizvod = proizvod self.vbox_layout = QtWidgets.QVBoxLayout() self.form_layout = QtWidgets.QFormLayout() self.line_edit_naziv = QtWidgets.QLineEdit(self) self.date_edit_rok_upotrebe = QtWidgets.QDateEdit(self) self.spin_box_temperatura = QtWidgets.QSpinBox() self.spin_box_kolicina = QtWidgets.QSpinBox() self.dialog_button_box = QtWidgets.QDialogButtonBox( QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel, parent=self) self.line_edit_naziv.setMaxLength(14) self.spin_box_kolicina.setMinimum(1) self.spin_box_kolicina.setMaximum(250) self.spin_box_temperatura.setMinimum(-10) self.spin_box_temperatura.setMaximum(25) self.date_edit_rok_upotrebe.setDate(QtCore.QDate.currentDate()) self.date_edit_rok_upotrebe.setMinimumDate(QtCore.QDate.currentDate()) self.date_edit_rok_upotrebe.setCalendarPopup(True) self.date_edit_rok_upotrebe.setDisplayFormat("dd.MM.yyyy") self.date_edit_rok_upotrebe.setMinimumDate(QtCore.QDate.currentDate()) if not dodaj: self.line_edit_naziv.setText(proizvod.naziv) self.date_edit_rok_upotrebe.setDate( QtCore.QDate(int(proizvod.rok_upotrebe[6:]), int(proizvod.rok_upotrebe[3:5]), int(proizvod.rok_upotrebe[:2]))) self.spin_box_temperatura.setValue(proizvod.temperatura) self.spin_box_kolicina.setValue(proizvod.kolicina) self.form_layout.addRow("Naziv:", self.line_edit_naziv) self.form_layout.addRow("Rok upotrebe:", self.date_edit_rok_upotrebe) self.form_layout.addRow("Temperatura:", self.spin_box_temperatura) self.form_layout.addRow("Količina:", self.spin_box_kolicina) self.vbox_layout.addLayout(self.form_layout) self.vbox_layout.addWidget(self.dialog_button_box) self.dialog_button_box.accepted.connect(self._ok) self.dialog_button_box.rejected.connect(self.reject) self.setLayout(self.vbox_layout)
def populate_side_header(self): self.side_le_title.setText(self.current_project.film_title) self.side_le_director.setText(self.current_project.director) self.side_le_production.setText(self.current_project.production) self.side_le_cinematographer.setText( self.current_project.cinematographer) self.side_le_verification_date.setDate( QtCore.QDate(self.current_project.qc_date.get("year"), self.current_project.qc_date.get("month"), self.current_project.qc_date.get("day")))
def update_transaction(self, updated_transaction): self.__transaction = copy.deepcopy(updated_transaction) self.transactionLabel.setText(self.__transaction.name) self.priceInput.setValue(self.__transaction.price) self.ammountInput.setValue(self.__transaction.ammount) self.faresInput.setValue(self.__transaction.paid_fares) self.categoryInput.setCurrentIndex(0 if self.__transaction.category == StockTypes.FI else 1) self.idInput.setValue(self.__transaction.operation_id) self.operationDateInput.setDate(QtCore.QDate(self.__transaction.operation_date.year,\ self.__transaction.operation_date.month, self.__transaction.operation_date.day)) self.totalValueLabel.setText("%0.2f" % self.__transaction.total_price)
def eventFilter(self, source, event): if event.type() == QtCore.QEvent.MouseButtonPress: if self.model: model = self.set_model(CalendarModel(self.path)) index = self._table.indexAt(event.pos()) current_date = QtCore.QDate(self.calendar.yearShown(), self.calendar.monthShown(), index.data()) self.current_date.setDate(current_date) if event.button() == QtCore.Qt.RightButton: if self.model: self.selected_date = current_date model = self.set_model(CalendarModel(self.path)) self.model_day(self.selected_date) self.context_menu = QtWidgets.QMenu() self.action_add = QtWidgets.QAction('Add event', self) self.action_delete = QtWidgets.QAction('Delete event', self) self.context_menu.addAction(self.action_add) self.context_menu.addAction(self.action_delete) self.action_add.triggered.connect(self._on_add) self.action_delete.triggered.connect(self._on_delete) self.context_menu.exec_( QtCore.QPoint(event.globalX(), event.globalY())) return True elif event.type() == QtCore.QEvent.MouseButtonDblClick: if event.button() == QtCore.Qt.LeftButton: self._on_add() elif event.type() == QtCore.QEvent.MouseButtonRelease: if self.model: index = self._table.indexAt(event.pos()) current_date = QtCore.QDate(self.calendar.yearShown(), self.calendar.monthShown(), index.data()) model = self.set_model(CalendarModel(self.path)) # self.model_day(current_date) if (self.model._data) == []: model = self.set_model(CalendarModel(self.path)) return False
def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.de_start.setDate(QtCore.QDate().currentDate()) self.ui.de_stop.setDate(QtCore.QDate().currentDate()) self.ui.cb_whocalled.setVisible(False) self.ui.btn_report.setVisible(False) self.ui.tab_2.setEnabled(False) self.mango = MangoOffice() self.dframe = PandasDataFrame() # connections self.ui.btn_connection.clicked.connect(self.connection) self.ui.btn_download.clicked.connect(self.feel_table) self.ui.cb_whocalledtype.currentIndexChanged.connect( self.who_called_type_change) self.ui.cb_ats.currentIndexChanged.connect(self.who_called_type_change) self.ui.btn_clear.clicked.connect(self.btn_clear_click) self.ui.de_start.dateChanged.connect(self.de_start_date_change) self.ui.de_stop.dateChanged.connect(self.de_stop_date_change) self.ui.btn_report.clicked.connect(self.export_to_xls)
def __init__(self, date, tree_item, column, parent=None, type='end'): QtWidgets.QDateEdit.__init__(self, parent) self.tree_item = tree_item self.column = column self.min_date = QtCore.QDate(2016,1,1) self.max_date = QtCore.QDate(2016,12,31) self.today = QtCore.QDate.currentDate() self.date_format = 'yyyy-MM-dd' self.date = date self.dateedit = TreeDateLineEdit(self) self.dateedit.setCalendarPopup(True) self.dateedit.setDisplayFormat(self.date_format) self.dateedit.setMinimumDate(self.min_date) self.dateedit.setMaximumDate(self.max_date) self.empty = DateLineEdit(date, self) self.layout = QtWidgets.QVBoxLayout(parent) self.layout.addWidget(self.empty) self.layout.addWidget(self.dateedit) if date!="": self.dateedit.setDate(QtCore.QDate.fromString(date, self.date_format)) self.empty.setVisible(False) self.dateedit.setVisible(True) else: self.dateedit.setDate(self.today) self.empty.setVisible(True) self.dateedit.setVisible(False) self.setLayout(self.layout) self.empty.clicked.connect(self._show_date) self.dateedit.dateChanged.connect(self._change_date)
def add_transaction(self, new_transaction): new_transaction_widget = TransactionWidget([]) new_transaction_widget.transactionLabel.setText(new_transaction.name) new_transaction_widget.priceInput.setValue(new_transaction.price) new_transaction_widget.ammountInput.setValue(new_transaction.ammount) new_transaction_widget.faresInput.setValue(new_transaction.paid_fares) new_transaction_widget.categoryInput.setCurrentIndex(0 if new_transaction.category == StockTypes.FI else 1) new_transaction_widget.idInput.setValue(new_transaction.operation_id) new_transaction_widget.operationTypeInput.setCurrentIndex(0 if new_transaction.operation_type ==\ TransactionTypes.PURCHASE else 1) new_transaction_widget.operationDateInput.setDate(QtCore.QDate(new_transaction.operation_date.year,\ new_transaction.operation_date.month, new_transaction.operation_date.day)) new_transaction_widget.totalValueLabel.setText("%0.2f" %new_transaction.total_price) new_transaction_widget.edit_transaction_signal.connect(self.edit_transaction_slot) self.transactionListLayout.insertWidget(self.transactionListLayout.count() -1, new_transaction_widget)
def reconnect_trade_order_ret(self, trade): long_short = True if '買' in trade.long_short else False mark = self.pricePosition.last() tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(trade.date_time.year, trade.date_time.month, trade.date_time.day)) tick_date_time.setTime( QtCore.QTime(trade.date_time.hour, trade.date_time.minute, trade.date_time.second)) if mark != None and mark.Date_Time == tick_date_time and mark.long_short == long_short and mark.Close == trade.price: self.trade.count = self.trade.count + trade.count mark.count = self.trade.count if self.trade.count > 0: mark.text = "+" + str(self.trade.count) else: mark.text = str(self.trade.count) self.pricePosition.pop() self.pricePosition.append(mark) else: self.trade.count = self.trade.count + trade.count if long_short else self.trade.count - trade.count if not long_short and self.trade.count < 0: self.trade.long_short = False elif long_short and self.trade.count >= 0: self.trade.long_short = True loc = int((tick_date_time.toTime_t() - self.run_tick_start_time.toTime_t()) / SettingFactor().KBarInterval) mark = SimpleNamespace(idx=0, posx=loc, count=self.trade.count, long_short=long_short, Date_Time=trade.date_time, Close=trade.price) if self.trade.count > 0: mark.text = "+" + str(self.trade.count) else: mark.text = str(self.trade.count) self.pricePosition.append(mark) if self.trade.count == 0: self.reconnect_trade_order_deal = [] else: self.reconnect_trade_order_deal.append(trade)
def __init__(self, parent: Q_Todo_Month_View, *args, **kwargs): super(Q_Chains_Calendar, self).__init__(parent=parent, *args, **kwargs) self.setFirstDayOfWeek(QtCore.Qt.DayOfWeek.Monday) self.setVerticalHeaderFormat(self.VerticalHeaderFormat.NoVerticalHeader) self.setSelectionMode(self.NoSelection) today = datetime.date.today() # Prevent scrolling past the current date self.setMaximumDate(date_to_qdate(today)) # Hides the selected date self.setSelectedDate(QtCore.QDate(1, 1, 1)) self.setCurrentPage(today.year, today.month) self.month_chains = {} self.set_chain_colors() self.currentPageChanged.connect(self.on_chain_selection_update) chain_handler.update_chain_val_event.connect(self.on_chain_selection_update)
def trade_deal(self, tick, long_short, count, gain): go = 1 if long_short else -1 count = count if go > 0 else -count if self.trade.long_short == long_short: self.trade.count = self.trade.count + (count * go) else: self.trade.count = self.trade.count - (count * go) if self.trade.count == 0: self.trade.long_short = True tick_date_time = QtCore.QDateTime() tick_date_time.setDate( QtCore.QDate(tick.Date_Time.year, tick.Date_Time.month, tick.Date_Time.day)) tick_date_time.setTime( QtCore.QTime(tick.Date_Time.hour, tick.Date_Time.minute, tick.Date_Time.second)) mark = self.pricePosition.last() if mark != None and mark.Date_Time == tick_date_time and mark.long_short == long_short and mark.Close == tick.Close: mark.count = self.trade.count if self.trade.count > 0: mark.text = "+" + str(self.trade.count) else: mark.text = str(self.trade.count) self.pricePosition.pop() self.pricePosition.append(mark) else: loc = int((tick_date_time.toTime_t() - self.run_tick_start_time.toTime_t()) / SettingFactor().KBarInterval) mark = SimpleNamespace(idx=0, posx=loc, count=self.trade.count, long_short=long_short, Date_Time=tick_date_time, Close=tick.Close) if self.trade.count > 0: mark.text = "+" + str(self.trade.count) else: mark.text = str(self.trade.count) self.pricePosition.append(mark)
def __init__(self, parent=None): super(IncomeDialog, self).__init__(parent) self.verticalLayout = QtWidgets.QVBoxLayout(self) self.verticalLayout.setContentsMargins(8, 8, 8, 8) self.dialogNameLabel = DialogNameWidget(self) self.dialogNameLabel.setText('Income') self.dialogNameLabel.setPointSize(FontSize.dialogNameLabelFontSize()) self.dialogNameLabel.setAlignment(QtCore.Qt.AlignCenter) self.dateLineEdit = QtWidgets.QDateTimeEdit( QtCore.QDate(QtCore.QDate.currentDate()), self) self.dateLineEdit.setCalendarPopup(True) self.dateLineEdit.setStyleSheet('color:black') self.informationWidget = QtWidgets.QWidget(self) self.informationGridLayout = QtWidgets.QGridLayout( self.informationWidget) self.verticalLayout.addWidget(self.dialogNameLabel) self.verticalLayout.addWidget(self.dateLineEdit) self.verticalLayout.addWidget(self.informationWidget) self.setWindowTitle('Income') self.totalIncomeLabel = QtWidgets.QLabel(self) self.totalIncomeLabelText = QtWidgets.QLabel(self) self.totalIncomeLabelText.setStyleSheet( 'background-color:#505050;padding:4px;border-radius:4px') self.totalProfitLabel = QtWidgets.QLabel(self) self.totalProfitLabelText = QtWidgets.QLabel(self) self.totalProfitLabelText.setStyleSheet( 'background-color:#505050;padding:4px;border-radius:4px') self.totalProfitLabel.setText('Total Profit') self.totalIncomeLabel.setText('Total Income') self.informationGridLayout.addWidget(self.totalIncomeLabel, 0, 0) self.informationGridLayout.addWidget(self.totalIncomeLabelText, 0, 1) self.informationGridLayout.addWidget(self.totalProfitLabel, 1, 0) self.informationGridLayout.addWidget(self.totalProfitLabelText, 1, 1) self.__update(self.dateLineEdit.date()) self.dateLineEdit.dateChanged.connect(self.__update)
def date_string_to_qdate(string: str) -> QtCore.QDate: # Assumes mm/dd/yy date format try: _date = datetime.date.today() year, month, day = _date.year, _date.month, _date.day split_string = string.split("/") if len(split_string) == 3: month, day, year = split_string month, day, year = int(month), int(day), int(year) elif len(split_string) == 2: month, day = split_string month, day = int(month), int(day) else: return None qdate = QtCore.QDate() qdate.setDate(year, month, day) return qdate except: return None
def setupUi(self, FiltroRemanufatura): FiltroRemanufatura.setObjectName("FiltroRemanufatura") FiltroRemanufatura.resize(645, 280) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( FiltroRemanufatura.sizePolicy().hasHeightForWidth()) FiltroRemanufatura.setSizePolicy(sizePolicy) FiltroRemanufatura.setMinimumSize(QtCore.QSize(600, 250)) FiltroRemanufatura.setMaximumSize(QtCore.QSize(645, 280)) FiltroRemanufatura.setSizeIncrement(QtCore.QSize(100, 50)) FiltroRemanufatura.setLocale( QtCore.QLocale(QtCore.QLocale.Portuguese, QtCore.QLocale.Brazil)) FiltroRemanufatura.setSizeGripEnabled(False) self.gridLayout = QtWidgets.QGridLayout(FiltroRemanufatura) self.gridLayout.setSpacing(6) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.frame = QtWidgets.QFrame(FiltroRemanufatura) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame.sizePolicy().hasHeightForWidth()) self.frame.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setWeight(75) font.setBold(True) self.frame.setFont(font) self.frame.setLineWidth(0) self.frame.setObjectName("frame") self.gridLayout_2 = QtWidgets.QGridLayout(self.frame) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setVerticalSpacing(6) self.gridLayout_2.setObjectName("gridLayout_2") self.formFrame = QtWidgets.QFrame(self.frame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.formFrame.sizePolicy().hasHeightForWidth()) self.formFrame.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setWeight(50) font.setBold(False) self.formFrame.setFont(font) self.formFrame.setObjectName("formFrame") self.gridLayout_3 = QtWidgets.QGridLayout(self.formFrame) self.gridLayout_3.setContentsMargins(9, -1, -1, -1) self.gridLayout_3.setObjectName("gridLayout_3") self.frame_2 = QtWidgets.QFrame(self.formFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame_2.sizePolicy().hasHeightForWidth()) self.frame_2.setSizePolicy(sizePolicy) self.frame_2.setObjectName("frame_2") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_2) self.verticalLayout_4.setObjectName("verticalLayout_4") self.groupBox_situacao = QtWidgets.QGroupBox(self.frame_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_situacao.sizePolicy().hasHeightForWidth()) self.groupBox_situacao.setSizePolicy(sizePolicy) self.groupBox_situacao.setObjectName("groupBox_situacao") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_situacao) self.verticalLayout_2.setObjectName("verticalLayout_2") self.checkBox_cadastrada = QtWidgets.QCheckBox(self.groupBox_situacao) self.checkBox_cadastrada.setObjectName("checkBox_cadastrada") self.verticalLayout_2.addWidget(self.checkBox_cadastrada) self.checkBox_realizada = QtWidgets.QCheckBox(self.groupBox_situacao) self.checkBox_realizada.setObjectName("checkBox_realizada") self.verticalLayout_2.addWidget(self.checkBox_realizada) self.checkBox_encerrada = QtWidgets.QCheckBox(self.groupBox_situacao) self.checkBox_encerrada.setEnabled(True) self.checkBox_encerrada.setObjectName("checkBox_encerrada") self.verticalLayout_2.addWidget(self.checkBox_encerrada) self.verticalLayout_4.addWidget(self.groupBox_situacao) self.groupBox_classificacao = QtWidgets.QGroupBox(self.frame_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_classificacao.sizePolicy().hasHeightForWidth()) self.groupBox_classificacao.setSizePolicy(sizePolicy) self.groupBox_classificacao.setObjectName("groupBox_classificacao") self.verticalLayout = QtWidgets.QVBoxLayout( self.groupBox_classificacao) self.verticalLayout.setObjectName("verticalLayout") self.checkBox_colorido = QtWidgets.QCheckBox( self.groupBox_classificacao) self.checkBox_colorido.setObjectName("checkBox_colorido") self.verticalLayout.addWidget(self.checkBox_colorido) self.checkBox_PB = QtWidgets.QCheckBox(self.groupBox_classificacao) self.checkBox_PB.setObjectName("checkBox_PB") self.verticalLayout.addWidget(self.checkBox_PB) self.verticalLayout_4.addWidget(self.groupBox_classificacao) self.gridLayout_3.addWidget(self.frame_2, 0, 1, 1, 1) self.frame_3 = QtWidgets.QFrame(self.formFrame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame_3.sizePolicy().hasHeightForWidth()) self.frame_3.setSizePolicy(sizePolicy) self.frame_3.setFrameShape(QtWidgets.QFrame.NoFrame) self.frame_3.setFrameShadow(QtWidgets.QFrame.Plain) self.frame_3.setLineWidth(0) self.frame_3.setObjectName("frame_3") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame_3) self.verticalLayout_5.setContentsMargins(5, 5, 5, 5) self.verticalLayout_5.setObjectName("verticalLayout_5") self.horizontalGroupBox_2 = QtWidgets.QGroupBox(self.frame_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.horizontalGroupBox_2.sizePolicy().hasHeightForWidth()) self.horizontalGroupBox_2.setSizePolicy(sizePolicy) self.horizontalGroupBox_2.setCheckable(False) self.horizontalGroupBox_2.setObjectName("horizontalGroupBox_2") self.horizontalLayout_2 = QtWidgets.QHBoxLayout( self.horizontalGroupBox_2) self.horizontalLayout_2.setContentsMargins(9, 9, 9, 9) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.lineEdit_cliente_documento = QtWidgets.QLineEdit( self.horizontalGroupBox_2) self.lineEdit_cliente_documento.setMaximumSize( QtCore.QSize(60, 16777215)) self.lineEdit_cliente_documento.setObjectName( "lineEdit_cliente_documento") self.horizontalLayout_2.addWidget(self.lineEdit_cliente_documento) self.toolButton_cliente = QtWidgets.QToolButton( self.horizontalGroupBox_2) self.toolButton_cliente.setText("") self.toolButton_cliente.setObjectName("toolButton_cliente") self.horizontalLayout_2.addWidget(self.toolButton_cliente) self.lineEdit_cliente = QtWidgets.QLineEdit(self.horizontalGroupBox_2) self.lineEdit_cliente.setEnabled(False) self.lineEdit_cliente.setObjectName("lineEdit_cliente") self.horizontalLayout_2.addWidget(self.lineEdit_cliente) self.verticalLayout_5.addWidget(self.horizontalGroupBox_2) self.horizontalGroupBox_3 = QtWidgets.QGroupBox(self.frame_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.horizontalGroupBox_3.sizePolicy().hasHeightForWidth()) self.horizontalGroupBox_3.setSizePolicy(sizePolicy) self.horizontalGroupBox_3.setCheckable(False) self.horizontalGroupBox_3.setObjectName("horizontalGroupBox_3") self.horizontalLayout_3 = QtWidgets.QHBoxLayout( self.horizontalGroupBox_3) self.horizontalLayout_3.setContentsMargins(9, 9, 9, 9) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.lineEdit_mercadoria_id = QtWidgets.QLineEdit( self.horizontalGroupBox_3) self.lineEdit_mercadoria_id.setMaximumSize(QtCore.QSize(60, 16777215)) self.lineEdit_mercadoria_id.setObjectName("lineEdit_mercadoria_id") self.horizontalLayout_3.addWidget(self.lineEdit_mercadoria_id) self.toolButton_mercadoria = QtWidgets.QToolButton( self.horizontalGroupBox_3) self.toolButton_mercadoria.setText("") self.toolButton_mercadoria.setObjectName("toolButton_mercadoria") self.horizontalLayout_3.addWidget(self.toolButton_mercadoria) self.lineEdit_mercadoria = QtWidgets.QLineEdit( self.horizontalGroupBox_3) self.lineEdit_mercadoria.setEnabled(False) self.lineEdit_mercadoria.setObjectName("lineEdit_mercadoria") self.horizontalLayout_3.addWidget(self.lineEdit_mercadoria) self.verticalLayout_5.addWidget(self.horizontalGroupBox_3) self.widget_4 = QtWidgets.QWidget(self.frame_3) self.widget_4.setObjectName("widget_4") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_4) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.groupBox_cadastro = QtWidgets.QGroupBox(self.widget_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_cadastro.sizePolicy().hasHeightForWidth()) self.groupBox_cadastro.setSizePolicy(sizePolicy) self.groupBox_cadastro.setCheckable(True) self.groupBox_cadastro.setChecked(False) self.groupBox_cadastro.setObjectName("groupBox_cadastro") self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_cadastro) self.horizontalLayout.setContentsMargins(9, 9, 9, 9) self.horizontalLayout.setObjectName("horizontalLayout") self.dateEdit_data_entrada1 = QtWidgets.QDateEdit( self.groupBox_cadastro) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dateEdit_data_entrada1.sizePolicy().hasHeightForWidth()) self.dateEdit_data_entrada1.setSizePolicy(sizePolicy) self.dateEdit_data_entrada1.setWrapping(False) self.dateEdit_data_entrada1.setFrame(False) self.dateEdit_data_entrada1.setReadOnly(False) self.dateEdit_data_entrada1.setButtonSymbols( QtWidgets.QAbstractSpinBox.UpDownArrows) self.dateEdit_data_entrada1.setCalendarPopup(True) self.dateEdit_data_entrada1.setDate(QtCore.QDate(2019, 1, 1)) self.dateEdit_data_entrada1.setObjectName("dateEdit_data_entrada1") self.horizontalLayout.addWidget(self.dateEdit_data_entrada1) self.label_2 = QtWidgets.QLabel(self.groupBox_cadastro) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) self.dateEdit_data_entrada2 = QtWidgets.QDateEdit( self.groupBox_cadastro) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dateEdit_data_entrada2.sizePolicy().hasHeightForWidth()) self.dateEdit_data_entrada2.setSizePolicy(sizePolicy) self.dateEdit_data_entrada2.setWrapping(False) self.dateEdit_data_entrada2.setFrame(False) self.dateEdit_data_entrada2.setReadOnly(False) self.dateEdit_data_entrada2.setButtonSymbols( QtWidgets.QAbstractSpinBox.UpDownArrows) self.dateEdit_data_entrada2.setCalendarPopup(True) self.dateEdit_data_entrada2.setDate(QtCore.QDate(2019, 12, 31)) self.dateEdit_data_entrada2.setObjectName("dateEdit_data_entrada2") self.horizontalLayout.addWidget(self.dateEdit_data_entrada2) self.horizontalLayout_6.addWidget(self.groupBox_cadastro) self.groupBox_realizada = QtWidgets.QGroupBox(self.widget_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_realizada.sizePolicy().hasHeightForWidth()) self.groupBox_realizada.setSizePolicy(sizePolicy) self.groupBox_realizada.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.groupBox_realizada.setCheckable(True) self.groupBox_realizada.setChecked(False) self.groupBox_realizada.setObjectName("groupBox_realizada") self.horizontalLayout_4 = QtWidgets.QHBoxLayout( self.groupBox_realizada) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.dateEdit_data_saida1 = QtWidgets.QDateEdit( self.groupBox_realizada) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dateEdit_data_saida1.sizePolicy().hasHeightForWidth()) self.dateEdit_data_saida1.setSizePolicy(sizePolicy) self.dateEdit_data_saida1.setWrapping(False) self.dateEdit_data_saida1.setFrame(False) self.dateEdit_data_saida1.setReadOnly(False) self.dateEdit_data_saida1.setButtonSymbols( QtWidgets.QAbstractSpinBox.UpDownArrows) self.dateEdit_data_saida1.setCalendarPopup(True) self.dateEdit_data_saida1.setDate(QtCore.QDate(2019, 1, 1)) self.dateEdit_data_saida1.setObjectName("dateEdit_data_saida1") self.horizontalLayout_4.addWidget(self.dateEdit_data_saida1) self.label_3 = QtWidgets.QLabel(self.groupBox_realizada) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setObjectName("label_3") self.horizontalLayout_4.addWidget(self.label_3) self.dateEdit_data_saida2 = QtWidgets.QDateEdit( self.groupBox_realizada) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dateEdit_data_saida2.sizePolicy().hasHeightForWidth()) self.dateEdit_data_saida2.setSizePolicy(sizePolicy) self.dateEdit_data_saida2.setWrapping(False) self.dateEdit_data_saida2.setFrame(False) self.dateEdit_data_saida2.setReadOnly(False) self.dateEdit_data_saida2.setButtonSymbols( QtWidgets.QAbstractSpinBox.UpDownArrows) self.dateEdit_data_saida2.setCalendarPopup(True) self.dateEdit_data_saida2.setDate(QtCore.QDate(2019, 12, 31)) self.dateEdit_data_saida2.setObjectName("dateEdit_data_saida2") self.horizontalLayout_4.addWidget(self.dateEdit_data_saida2) self.horizontalLayout_6.addWidget(self.groupBox_realizada) self.verticalLayout_5.addWidget(self.widget_4) self.gridLayout_3.addWidget(self.frame_3, 0, 0, 1, 1) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem, 1, 0, 1, 1) self.gridLayout_2.addWidget(self.formFrame, 1, 0, 1, 1) self.gridLayout.addWidget(self.frame, 0, 0, 1, 1) self.retranslateUi(FiltroRemanufatura) QtCore.QMetaObject.connectSlotsByName(FiltroRemanufatura)
def insertCalendar(self): self.editor.clear() cursor = self.editor.textCursor() cursor.beginEditBlock() date = QtCore.QDate(self.selectedDate.year(), self.selectedDate.month(), 1) tableFormat = QtGui.QTextTableFormat() tableFormat.setAlignment(QtCore.Qt.AlignHCenter) tableFormat.setBackground(QtGui.QColor('#e0e0e0')) tableFormat.setCellPadding(2) tableFormat.setCellSpacing(4) constraints = [ QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14), QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14) ] tableFormat.setColumnWidthConstraints(constraints) table = cursor.insertTable(1, 7, tableFormat) frame = cursor.currentFrame() frameFormat = frame.frameFormat() frameFormat.setBorder(1) frame.setFrameFormat(frameFormat) format = cursor.charFormat() format.setFontPointSize(float(self.fontSize)) boldFormat = QtGui.QTextCharFormat(format) boldFormat.setFontWeight(QtGui.QFont.Bold) highlightedFormat = QtGui.QTextCharFormat(boldFormat) highlightedFormat.setBackground(QtCore.Qt.yellow) for weekDay in range(1, 8): cell = table.cellAt(0, weekDay - 1) cellCursor = cell.firstCursorPosition() cellCursor.insertText(QtCore.QDate.longDayName(weekDay), boldFormat) table.insertRows(table.rows(), 1) while date.month() == self.selectedDate.month(): weekDay = date.dayOfWeek() cell = table.cellAt(table.rows() - 1, weekDay - 1) cellCursor = cell.firstCursorPosition() if date == QtCore.QDate.currentDate(): cellCursor.insertText(str(date.day()), highlightedFormat) else: cellCursor.insertText(str(date.day()), format) date = date.addDays(1) if weekDay == 7 and date.month() == self.selectedDate.month(): table.insertRows(table.rows(), 1) cursor.endEditBlock() self.setWindowTitle("Calendar for %s %d" % (QtCore.QDate.longMonthName( self.selectedDate.month()), self.selectedDate.year()))
def __init__(self, current_project): super().__init__() self.current_project = current_project self.selected_card = "" self.current_day_edited = 0 # menu menu = self.menuBar() menu.setNativeMenuBar(False) file_menu = menu.addMenu("Rapport") load_action = QtWidgets.QAction("ouvrir un rapport", self) load_action.triggered.connect(self.open_report) save_action = QtWidgets.QAction("Sauvegarder le rapport", self) save_action.triggered.connect(self.save_report) file_menu.addAction(load_action) file_menu.addAction(save_action) #Window setup self.setWindowTitle("La Ruche QCReport") # LAYOUT ################## LAYOUT #Layouts creation and setup self.main_layout = QtWidgets.QGridLayout() self.side_layout = QtWidgets.QVBoxLayout() self.day_header_layout = QtWidgets.QGridLayout() self.day_header_layout.setSpacing(0) ###HEADER############################################ #DAY HEADER WIDEGTS CREATION and assignment self.lab_shooting_day_number_title = QtWidgets.QLabel('Jour') self.lab_shooting_day_number = QtWidgets.QLabel( f"{self.current_day_edited} : {self.current_project.get_shooting_date_string_from_number(self.current_day_edited)}" ) self.lab_shooting_day_number.setStyleSheet( "font-size: 40px; color:DarkSlateGray; font-style: bold") self.lab_clip_number = QtWidgets.QLabel() self.lab_clip_number.setStyleSheet("font-size: 20px;") self.te_day_comment = QtWidgets.QPlainTextEdit() self.te_day_comment.setPlaceholderText("Commentaire de la journée.") self.te_day_comment.setMaximumWidth(300) self.te_day_comment.setMaximumHeight(80) self.te_day_comment.cursorPositionChanged.connect(self.set_day_comment) #### A REPARER self.lw_framerate_list = QtWidgets.QListWidget() self.lw_framerate_list.setMaximumSize(100, 80) self.lw_codec_list = QtWidgets.QListWidget() self.lw_codec_list.setMaximumSize(150, 80) self.lw_cards_list = QtWidgets.QListWidget() self.lw_cards_list.setMaximumSize(100, 80) self.lab_codec = QtWidgets.QLabel("Codec detectés") self.lab_codec.setStyleSheet("font-size: 10px;") self.lab_framerates = QtWidgets.QLabel("Cadences detectées") self.lab_framerates.setStyleSheet("font-size: 10px;") self.lab_cards = QtWidgets.QLabel("Cartes") self.lab_cards.setStyleSheet("font-size: 10px;") self.day_header_layout.addWidget(self.lab_shooting_day_number, 0, 0, 1, 1) self.day_header_layout.addWidget(self.lab_clip_number, 1, 0, 1, 1) self.day_header_layout.addWidget(self.te_day_comment, 2, 0, 1, 1) self.day_header_layout.addWidget(self.lab_framerates, 1, 2, 1, 1) self.day_header_layout.addWidget(self.lw_framerate_list, 2, 2, 1, 1) self.day_header_layout.addWidget(self.lab_codec, 1, 3, 1, 1) self.day_header_layout.addWidget(self.lw_codec_list, 2, 3, 1, 1) self.day_header_layout.addWidget(self.lab_cards, 1, 4, 1, 1) self.day_header_layout.addWidget(self.lw_cards_list, 2, 4, 1, 1) # HEADER END ### CLIP LIST # set scrollable area self.lab_scroll = QtWidgets.QLabel("") self.clips_layout = QtWidgets.QVBoxLayout(self) self.scrollable_area = QtWidgets.QScrollArea(self) self.placeholder_widget = QtWidgets.QWidget(self) self.placeholder_widget.setLayout(self.clips_layout) self.scrollable_area.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOn) self.scrollable_area.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.scrollable_area.setWidgetResizable(True) self.scrollable_area.setWidget(self.placeholder_widget) self.scrollable_area.setFrameStyle(QtWidgets.QFrame.StyledPanel | QtWidgets.QFrame.Sunken) # Assigning widgets #self.side_layout.addWidget(self.lab_side) self.clips_layout.addWidget(self.lab_scroll) # Side widgets #labels self.side_lab_title = QtWidgets.QLabel("Titre du film:") self.side_lab_director = QtWidgets.QLabel("Mise en scène:") self.side_lab_production = QtWidgets.QLabel("Production:") self.side_lab_cinematographer = QtWidgets.QLabel("Chef opérateur:") self.side_lab_verification_date = QtWidgets.QLabel( "Date de vérification:") #Line edits self.side_le_title = QtWidgets.QLineEdit( self.current_project.film_title) self.side_le_director = QtWidgets.QLineEdit( self.current_project.director) self.side_le_production = QtWidgets.QLineEdit( self.current_project.production) self.side_le_cinematographer = QtWidgets.QLineEdit( self.current_project.cinematographer) self.side_le_verification_date = QtWidgets.QDateEdit( QtCore.QDate(self.current_project.qc_date.get("year"), self.current_project.qc_date.get("month"), self.current_project.qc_date.get("day"))) self.side_le_verification_date.setCalendarPopup(True) # Side connectipns self.side_le_title.textChanged.connect(self.set_title) self.side_le_director.textChanged.connect(self.set_director) self.side_le_production.textChanged.connect(self.set_production) self.side_le_cinematographer.textChanged.connect( self.set_cinematographer) self.side_le_verification_date.userDateChanged.connect( self.set_verification_date) # Adding widgets self.side_layout.addWidget(self.side_lab_title) self.side_layout.addWidget(self.side_le_title) self.side_layout.addWidget(self.side_lab_director) self.side_layout.addWidget(self.side_le_director) self.side_layout.addWidget(self.side_lab_production) self.side_layout.addWidget(self.side_le_production) self.side_layout.addWidget(self.side_lab_cinematographer) self.side_layout.addWidget(self.side_le_cinematographer) self.side_layout.addWidget(self.side_lab_verification_date) self.side_layout.addWidget(self.side_le_verification_date) self.side_layout.addWidget(QtWidgets.QLabel("Jours de tournage")) self.day_list = QtWidgets.QListWidget() self.day_list.itemSelectionChanged.connect(self.change_day) self.side_layout.addWidget(self.day_list) self.populate_day_list() # self.side_layout.addWidget(QtWidgets.QPushButton("Manage Report")) # self.side_layout.addWidget(QtWidgets.QPushButton("Save Report")) # self.side_layout.addWidget(QtWidgets.QPushButton("Export Report")) ###DEBUG self.debug = QtWidgets.QPushButton("Debug") self.side_layout.addWidget(self.debug) self.debug.clicked.connect(self.current_project.export_report) # LAYOUTS HIERARCHY self.main_layout.addLayout(self.side_layout, 0, 0, 8, 2) self.main_layout.addLayout(self.day_header_layout, 0, 2, 2, 8) self.main_layout.addWidget(self.scrollable_area, 2, 2, 6, 8) self.widget = QtWidgets.QWidget() self.widget.setLayout(self.main_layout) self.setCentralWidget(self.widget) self.resize(1200, 800)