コード例 #1
0
ファイル: main_window.py プロジェクト: zghkm/pyside_tutorial
    def create_cell(self, data: str):
        """Create data cell on UI."""
        cell = QTableWidgetItem(data)
        cell.setFont(QFont('Free Mono', 11))
        cell.setTextAlignment(Qt.AlignVCenter | Qt.AlignHCenter)

        return cell
コード例 #2
0
def _makewidget(parent, val, center=False):
    """ Small helper function that builds a TableWidgetItem and sets up the font the way we want"""
    out = QTableWidgetItem(str(val))
    out.setFlags(Qt.ItemIsEnabled)
    out.setFont(getMonospaceFont(parent))
    if center:
        out.setTextAlignment(Qt.AlignCenter)
    return out
コード例 #3
0
ファイル: cutterplugin.py プロジェクト: ctlayon/capa-explorer
 def render_new_table_header_item(self, text):
     """create new table header item with our style
     @param text: header text to display
     """
     item = QTableWidgetItem(text)
     item.setForeground(self._config.getColor("graph.true"))
     font = QFont()
     font.setBold(True)
     item.setFont(font)
     return item
コード例 #4
0
ファイル: sub.py プロジェクト: kiwitreekor/namuplant
 def _table_item(text='', center=True):
     item = QTableWidgetItem(text)
     font = QFont()
     if center:  # 행번호
         item.setTextAlignment(Qt.AlignCenter)
         item.setFlags(Qt.NoItemFlags)
         item.setFont(font)
         font.setPointSize(7)
     else:
         item.setFlags(Qt.NoItemFlags)
         item.setFont(font)
         font.setPointSize(9)
     return item
コード例 #5
0
    def fillTable(self, size):
        print("fill")
        self.table.setMaximumSize(size*50 + 25, size*50 + 45)
        self.tableResults.setMaximumSize(225, size * 50 + 45)
        newFont = QFont("Arial", 12)

        for i in range(size):
            for j in range(size):
                if i == j:
                    #self.table.setItem(i, j, QTableWidgetItem(QIcon("sticker.svg"), ""))
                    item = QTableWidgetItem("0")
                    item.setTextAlignment(Qt.AlignCenter)
                    item.setFont(newFont)
                    self.table.setItem(i, j, item)
                else:
                    item = QTableWidgetItem(str(random.randrange(1)))
                    item.setTextAlignment(Qt.AlignCenter)
                    item.setFont(newFont)
                    self.table.setItem(i, j, item)

        self.table.setHorizontalHeaderLabels([str(i + 1) + "\n " for i in range(size)])
        print(self.table.item(0, 1).text())

        for i in range(size):
            for j in range(2):
                    item = QTableWidgetItem("__")
                    item.setTextAlignment(Qt.AlignCenter)
                    item.setFont(newFont)
                    self.tableResults.setItem(i, j, item)
コード例 #6
0
def display_active_table_on_data_display(self):
    # class props needed
    data_to_display = self.data_to_display_on_tab1.copy()
    table_name = self.table_on_target
    self.ui.label_table_on_display.setText(table_name)
    # headers
    fields = self.headers_for_tab1
    self.ui.tableWidget_table_display.setColumnCount(len(fields))
    tableHeadersWidgets_list = list((QTableWidgetItem() for n in fields))

    for index, field in enumerate(fields):
        tableHeadersWidgets_list[index].setText(field)
        self.ui.tableWidget_table_display.setHorizontalHeaderItem(
            index, tableHeadersWidgets_list[index])

    # table build process
    self.ui.tableWidget_table_display.setRowCount(0)
    for i_row, row in enumerate(data_to_display):
        self.ui.tableWidget_table_display.insertRow(i_row)
        for i_col, item_data in enumerate(row):
            item__ = QTableWidgetItem(str(item_data))
            if i_row % 2 == 0:
                item__.setBackgroundColor(QColor(220, 230, 255))
            try:
                negative_value = item_data < 0
                if negative_value:
                    item__.setBackgroundColor(QColor(120, 0, 0))
                    item__.setTextColor(QColor(255, 255, 255))
                    item__.setFont(QFont(weight=5))
            except:
                pass
            finally:
                item__.setText(
                    get_format_of_field(
                        table_name,
                        self.ui.tableWidget_table_display.horizontalHeaderItem(
                            i_col).text())(item_data))
                self.ui.tableWidget_table_display.setItem(i_row, i_col, item__)
    # print('debug: table {} displayed...'.format(table_name))
    return
コード例 #7
0
    def load_sum_table(self):
        self.check_new_categories_for_spent_limit()
        for spent_limit in self.__spent_in_month.spent_limit_goal:
            initial_row_count = self.ui.tableWidget_sum.rowCount()
            self.ui.tableWidget_sum.insertRow(initial_row_count)

            #create and insert QTableWidgetItems
            twi_category = QTableWidgetItem()
            twi_category.setData(Qt.DisplayRole, spent_limit.category.name)
            twi_category.setFlags(Qt.ItemIsEnabled)  # Disable for edition
            self.ui.tableWidget_sum.setItem(initial_row_count, 0, twi_category)
            twi_sum = QTableWidgetItem()
            # twi_sum.setData(Qt.DisplayRole, spent_limit.category.name)
            twi_sum.setFlags(Qt.ItemIsEnabled)  # Disable for edition
            self.ui.tableWidget_sum.setItem(initial_row_count, 1, twi_sum)
            twi_goal = QTableWidgetItem()
            bold_font = QFont()
            bold_font.setBold(True)
            twi_goal.setFont(bold_font)
            twi_goal.setData(Qt.DisplayRole, spent_limit.amount)
            self.ui.tableWidget_sum.setItem(initial_row_count, 2, twi_goal)
        self.update_spent_sum()
        self.update_all_colors_sum_table()
コード例 #8
0
class MainTable(QTableWidget):
    def __init__(self):
        super().__init__()
        self.initTable()

    def initTable(self):
        #Формирование базовой таблицы
        self.header = [
            'Составляющие затрат', 'Номер расценки', 'Единица измерения',
            'Базовая величина затрат, тыс.руб./ед.изм.', 'Количество ед.',
            'Коэффициент приведения затрат к уровню цен субъекта',
            'Базовые затраты в уровнях цен субъекта РФ, тыс.руб.',
            'Текущие затраты в уровнях цен субъекта РФ, тыс.руб.', 'Del'
        ]
        self.setColumnCount(9)
        self.setRowCount(1)
        for i in range(0, len(self.header)):
            self.setHorizontalHeaderItem(i, QTableWidgetItem(self.header[i]))
        stylesheet = "::section{Background-color:rgb(176,224,230);border-radius:2px;}"
        self.horizontalHeader().setStyleSheet(stylesheet)
        self.resizeColumnsToContents()

        #Формирование сигналов
        self.cellClicked.connect(self.deleteClicked)

    #Добавление строк по клику
    def update_table(self, items):
        self.make_closebutton()
        text = self.make_numbertext(items)
        self.row = self.rowCount() - 1
        self.setItem(self.row, 3, QTableWidgetItem(items[0]))
        self.setItem(self.row, 4, QTableWidgetItem(items[3]))
        self.setItem(self.row, 5, QTableWidgetItem(
            items[4]))  #Добавить критерии выбора региональных коэффициентов
        self.setItem(self.row, 6, QTableWidgetItem(self.calculate(items)[0]))
        self.setItem(self.row, 7, QTableWidgetItem(self.calculate(items)[1]))
        self.setItem(self.row, 1, QTableWidgetItem(text))
        self.setItem(self.row, 8, self.closebut)
        self.insertRow(self.row + 1)

    #Пересчет при изменении значений
    def recalculation(self, data):
        for i in range(len(data[0])):
            cost = float(data[0][i])
            count = float(data[1][i])
            koef = float(data[2][i])
            calc = str(round(cost * count * koef, 1))
            self.setItem(i, 6, QTableWidgetItem(calc.replace('.', ',')))
            self.setItem(
                i, 7,
                QTableWidgetItem(
                    str(round(float(calc) * 1.2, 1)).replace('.', ',')))

    #Удаление строки
    def deleteClicked(self, row, col):
        if col == 8:
            self.removeRow(row)
            self.row += 1

    #Текст для категории
    def make_numbertext(self, items):
        if len(items[2]) > 5:
            return items[2][:5] + '-' + items[1]
        else:
            return items[2]

    #Расчет стоимости
    def calculate(self, items):
        cost = float(items[0].replace(',', '.'))
        count = float(items[3].replace(',', '.'))
        k = float(items[4].replace(',', '.'))
        current_cost = str(round(cost * count * k, 11))
        future_cost = str(round(float(current_cost) * 1.2, 1))
        return [current_cost.replace('.', ','), future_cost.replace('.', ',')]

    #Рисует крестик для удаления строки
    def make_closebutton(self):
        self.closebut = QTableWidgetItem('X')
        self.closebut.setBackgroundColor(QColor(240, 240, 240))
        self.closebut.setFont(QFont('Helvetica [Cronyx]', 18, QFont.ExtraBold))
        self.closebut.setTextColor(QColor(255, 11, 21))
        self.closebut.setTextAlignment(4)
コード例 #9
0
    def __init__(self):
        super(FTPClient, self).__init__()
        self.setFixedSize(600, 608)
        self.load_ui()
        self.tableWidget = self.findChild(QTableWidget, "tableWidget")
        self.progressBar = self.findChild(QProgressBar, "progressBar")
        self.lineEditUsername = self.findChild(QLineEdit, "lineEditUsername")
        self.lineEditPassword = self.findChild(QLineEdit, "lineEditPassword")
        self.lineEditPort = self.findChild(QLineEdit, "lineEditPort")
        self.lineEditIP1 = self.findChild(QLineEdit, "lineEditIP1")
        self.lineEditIP2 = self.findChild(QLineEdit, "lineEditIP2")
        self.lineEditIP3 = self.findChild(QLineEdit, "lineEditIP3")
        self.lineEditIP0 = self.findChild(QLineEdit, "lineEditIP0")
        self.textEditMessage = self.findChild(QTextEdit, "textEditMessage")
        self.labelStatus = self.findChild(QLabel, "labelStatus")
        self.pushButtonMKD = self.findChild(QPushButton, "pushButtonMKD")
        self.pushButtonRMD = self.findChild(QPushButton, "pushButtonRMD")
        self.pushButtonRename = self.findChild(QPushButton, "pushButtonRename")
        self.pushButtonSTOR = self.findChild(QPushButton, "pushButtonSTOR")
        self.pushButtonLogin = self.findChild(QPushButton, "pushButtonLogin")
        self.pushButtonBack = self.findChild(QPushButton, "pushButtonBack")
        status = False
        self.pushButtonMKD.setEnabled(status)
        self.pushButtonRMD.setEnabled(status)
        self.pushButtonRename.setEnabled(status)
        self.pushButtonSTOR.setEnabled(status)
        self.pushButtonBack.setEnabled(status)

        self.lineEditUsername.setText("anonymous")
        self.labelStatus.setText("Unlogin")
        headers = [
            "Type", "Permission", "Num", "User", "Group", "Size", "Updated",
            "Name"
        ]
        self.tableTypeCol = 0
        self.tablePermissionCol = 1
        self.tableNumCol = 2
        self.tableUserCol = 3
        self.tableGroupCol = 4
        self.tableSizeCol = 5
        self.tableUpdatedCol = 6
        self.tableNameCol = 7
        self.tableWidget.setColumnCount(len(headers))
        for idx, header in enumerate(headers):
            headerItem = QTableWidgetItem(header)
            font = headerItem.font()
            font.setBold(True)
            headerItem.setFont(font)
            self.tableWidget.setHorizontalHeaderItem(idx, headerItem)
        self.tableWidget.horizontalHeader().setSectionResizeMode(
            QHeaderView.ResizeToContents)
        self.tableWidget.verticalHeader().setSectionResizeMode(
            QHeaderView.ResizeToContents)
        self.tableWidget.setSelectionMode(QAbstractItemView.SingleSelection)
        self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.tableWidget.setShowGrid(False)
        self.tableWidget.verticalHeader().setHidden(True)
        self.progressBar.setMaximum(100)
        self.progressBar.setValue(0)
        self.findChild(QRadioButton, "radioButtonPASV").setChecked(True)
        self.onPASV()
        self.init_connect()

        # Data section
        self.pwd = "/"
        self.selectedFileItems = None
        self.serverIP = None
        self.serverPort = None
        self.commandSocket = None
        self.dataSocket = None

        self.mode = self.MODE_PASV
        self.pasvDataIp = None
        self.pasvDataPort = None
        self.portListenSocket = None
        self.messages = []
コード例 #10
0
    def _setup_ui(self):
        self.setFrameStyle(QFrame.StyledPanel | QFrame.Raised)

        # Set up our basic layout
        layout = QVBoxLayout(self)
        self.setLayout(layout)
        layout.setSpacing(1)
        layout.setMargin(1)

        self._table = QTableWidget(TRACE_DEPTH, 6, self)
        layout.addWidget(self._table)

        for c, n in enumerate(['EB', 'FB', 'Z', 'I', 'S', 'W']):
            item = QTableWidgetItem(n)
            self._table.setHorizontalHeaderItem(c, item)

        font = self._table.horizontalHeader().font()
        font.setPointSize(8)
        font.setBold(True)
        item.setFont(font)

        self._table.horizontalHeader().setFont(font)
        self._table.verticalHeader().setFont(font)

        font.setBold(False)

        for r in range(TRACE_DEPTH):
            for c in range(6):
                item = QTableWidgetItem('')
                item.setFont(font)
                item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled
                              | Qt.ItemIsEnabled)
                self._table.setItem(r, c, item)

        self._table.setColumnWidth(0, 10)
        self._table.setColumnWidth(1, 10)
        for c in range(2, 6):
            self._table.horizontalHeader().setSectionResizeMode(
                c, QHeaderView.Stretch)

        self._table.resizeRowsToContents()
        self._table.verticalScrollBar().setValue(
            self._table.verticalScrollBar().maximum())

        controls_widget = QWidget(self)
        layout.addWidget(controls_widget)
        controls_layout = QGridLayout(controls_widget)
        controls_layout.setSpacing(0)
        controls_layout.setMargin(0)

        b = self._create_button('DUMP', controls_layout, 1, 1)
        b.pressed.connect(self._dump_trace)

        b = self._create_button('SAVE', controls_layout, 1, 2)
        b.pressed.connect(self._save_trace)

        s = QSpacerItem(260, 20)
        controls_layout.addItem(s, 1, 3)

        label = QLabel('TRACE', controls_widget)
        font = label.font()
        font.setPointSize(12)
        font.setBold(True)
        label.setFont(font)
        label.setAlignment(Qt.AlignLeft)
        controls_layout.addWidget(label, 1, 4, 2, 1, Qt.AlignLeft)