Beispiel #1
0
 def paintEvent(self, event):
     painter = QtWidgets.QPainter()
     painter.begin(self)
     painter.setBrush(QtWidgets.QColor(192, 192, 192))
     painter.setPen(QtWidgets.QColor(64, 64, 64))
     painter.drawPolygon(*self._arrow)
     painter.end()
Beispiel #2
0
    def fromFile(cls, fileName, context):

        image = QtGui.QImage(fileName).convertToFormat(
            QtGui.QImage.Format_ARGB32_Premultiplied)

        if image.hasAlphaChannel():
            bgColor = QtWidgets.QColor(0, 0, 0, 0)
        else:
            bgColor = QtWidgets.QColor(255, 255, 255)

        return cls(fileName, image, bgColor, context)
 def __init__(self,
              parent=None,
              size=QtCore.QSize(100, 100),
              borderWidth=0,
              fillColor=QtWidgets.QColor(255, 255, 255),
              borderColor=QtWidgets.QColor(0, 0, 0)):
     super(QArkClickableFilledRect, self).__init__(parent)
     self.o_size = size
     self.u_borderWidth = borderWidth
     self.o_fillColor = fillColor
     self.o_borderColor = borderColor
     self.initUi()
Beispiel #4
0
    def guiPalItemActivated(self):
        u""" GUIで色が選択されたときに行う処理
        """
        COLOR_SIZE = 2

        index = self.ui.palList.currentRow()
        if index == -1:
            return -1

        r, g, b, a = self.palData[index]["color"]  # 選択された色の値をセット
        writePos = self.palData[index]["addr"]  # 色データを書き込む位置
        color = QtWidgets.QColorDialog.getColor(QtWidgets.QColor(
            r, g, b))  # カラーダイアログを開く
        if color.isValid() == False:  # キャンセルしたとき
            logger.info(u"色の選択をキャンセルしました")
            return 0

        r, g, b, a = color.getRgb()  # ダイアログでセットされた色に更新

        binR = bin(r / 8)[2:].zfill(5)  # 5bitカラーに変換
        binG = bin(g / 8)[2:].zfill(5)
        binB = bin(b / 8)[2:].zfill(5)
        gbaColor = int(binB + binG + binR, 2)  # GBAのカラーコードに変換
        colorStr = struct.pack("H", gbaColor)
        self.romData = self.romData[:writePos] + colorStr + self.romData[
            writePos + COLOR_SIZE:]
        self.updateImage()
 def test_widget(self):
     o_app = QtWidgets.QApplication(sys.argv)
     o_w = QArkClickableFilledRect(borderWidth=1,
                                   fillColor=QtWidgets.QColor(255, 0, 0))
     #o_w.setText('click me!')
     o_w.show()
     o_app.exec_()
Beispiel #6
0
 def ConvertToQGradient(self, gfxGradient):
     stops = gfxGradient.GetStops()
     qgrad = QtWidgets.QLinearGradient()
     for stop in stops:
         color = stop.GetColor()
         qcolor = QtWidgets.QColor(color.Red() * 255,
                                   color.Green() * 255,
                                   color.Blue() * 255,
                                   color.Alpha() * 255)
         qgrad.setColorAt(stop.GetRel(), qcolor)
     return qgrad
Beispiel #7
0
    def mouseMoveEvent(self, event):

        super(MainWindow, self).mouseMoveEvent(event)

        # Lo mismo de antes pero para cuando el ratón se mueve
        if self.ctrlPressed:
            widget = QtCore.QCoreApplication.instance().desktop().screen()
            im = QtWidgets.QPixmap.grabWindow(
                widget.winId()).toImage()  # Captura de pantalla
            c = QtWidgets.QColor(im.pixel(QtWidgets.QCursor.pos(
            )))  # Cogemos el color de la posición del cursor
            if event.buttons() == Qt.LeftButton:
                self.context.changePrimaryColor(
                    c
                )  # Cambiamos el color primario actual por el que hemos cogido
            elif event.buttons() == Qt.RightButton:
                self.context.changeSecondaryColor(
                    c
                )  # Cambiamos el color secundario actual por el que hemos cogido
    def __init__(self, width, height, color, parent=None):
        QtWidgets.QWidget.__init__(self, parent)

        #Membervars
        self.width_ = width
        self.height_ = height

        if (color is None):
            self.color_ = QtWidgets.QColor("White")
        else:
            self.color_ = color

        self.show()

        #ContextMenu
        self.change_color_ = QtWidgets.QAction('ChangeColor', self)

        self.change_color_.triggered.connect(self.ChangeColor)

        self.addAction(self.change_color_)
        self.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)

        self.Resize()
Beispiel #9
0
    def tableView_set(self):

        # 添加表头:
        self.model = QtWidgets.QStandardItemModel(self.tableView)

        # 设置表格属性:
        self.model.setRowCount(17)
        self.model.setColumnCount(8)

        # 设置表头
        self.model.setHeaderData(0, QtCore.Qt.Horizontal, _fromUtf8(u"类型"))
        self.model.setHeaderData(1, QtCore.Qt.Horizontal, _fromUtf8(u"值"))
        self.model.setHeaderData(2, QtCore.Qt.Horizontal, _fromUtf8(u""))
        self.model.setHeaderData(3, QtCore.Qt.Horizontal, _fromUtf8(u"类型"))
        self.model.setHeaderData(4, QtCore.Qt.Horizontal, _fromUtf8(u"值"))
        self.model.setHeaderData(5, QtCore.Qt.Horizontal, _fromUtf8(u""))
        self.model.setHeaderData(6, QtCore.Qt.Horizontal, _fromUtf8(u"类型"))
        self.model.setHeaderData(7, QtCore.Qt.Horizontal, _fromUtf8(u"值"))

        self.tableView.setModel(self.model)

        # 设置列宽
        self.tableView.setColumnWidth(0, 100)
        self.tableView.setColumnWidth(1, 80)
        self.tableView.setColumnWidth(2, 80)
        self.tableView.setColumnWidth(3, 100)
        self.tableView.setColumnWidth(4, 80)
        self.tableView.setColumnWidth(5, 80)
        self.tableView.setColumnWidth(6, 100)
        self.tableView.setColumnWidth(7, 80)

        # 合并单元格的效果
        # 第一个参数:要改变的单元格行数
        # 第二个参数:要改变的单元格列数
        # 第三个参数:需要合并的行数
        # 第四个参数:需要合并的列数
        self.tableView.setSpan(0, 2, 17, 1)
        self.tableView.setSpan(0, 5, 17, 1)

        # 设置单元格禁止更改
        # self.tableView.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

        # 表头信息显示居左
        # self.tableView.horizontalHeader().setDefaultAlignment(QtCore.Qt.AlignLeft)

        # 表头信息显示居中
        self.tableView.horizontalHeader().setDefaultAlignment(
            QtCore.Qt.AlignCenter)
        '''
        #添加表项
        for i in range(0,3):
            self.model.setItem(i,0,QtGui.QStandardItem("2009441676"))
            #设置字符颜色
            self.model.item(i,0).setForeground(QtGui.QBrush(QtGui.QColor(255, 0, 0)))
            #设置字符位置
            self.model.item(i,0).setTextAlignment(QtCore.Qt.AlignCenter)

            self.model.setItem(i,1,QtGui.QStandardItem(_fromUtf8("哈哈")))
        '''
        # 添加表项
        set_value_type_list = [
            u'过流I段定值', u'过流II段定值', u'过流III段定值', u'零序过流定值', u'后加速定值', u'PT有压定值',
            u'PT过压定值', u'PT无压定值', u'过流I段延时', u'过流II段延时', u'过流III段延时',
            u'零序过流延时', u'后加速延时', u'重合闸I段延时', u'重合闸II段延时', u'重合闸III段延时',
            u'重合复归延时', u'反时限曲线', u'反时限启动', u'反时限倍数', u'环境温度', u'控制字', u'手机号码'
        ]
        index = 0
        for i in range(0, 30):
            self.model.setItem(
                i, 0,
                QtWidgets.QStandardItem(_fromUtf8(set_value_type_list[index])))
            index += 1
            # 设置字符颜色
            self.model.item(i, 0).setForeground(
                QtWidgets.QBrush(QtWidgets.QColor(255, 0, 0)))
            # 设置字符位置
            self.model.item(i, 0).setTextAlignment(QtCore.Qt.AlignCenter)
            if index >= len(set_value_type_list):
                break

            self.model.setItem(
                i, 3,
                QtWidgets.QStandardItem(_fromUtf8(set_value_type_list[index])))
            index += 1
            # 设置字符颜色
            self.model.item(i, 3).setForeground(
                QtWidgets.QBrush(QtWidgets.QColor(255, 0, 0)))
            # 设置字符位置
            self.model.item(i, 3).setTextAlignment(QtCore.Qt.AlignCenter)
            if index >= len(set_value_type_list):
                break

            self.model.setItem(
                i, 6,
                QtWidgets.QStandardItem(_fromUtf8(set_value_type_list[index])))
            index += 1
            # 设置字符颜色
            self.model.item(i, 6).setForeground(
                QtWidgets.QBrush(QtWidgets.QColor(255, 0, 0)))
            # 设置字符位置
            self.model.item(i, 6).setTextAlignment(QtCore.Qt.AlignCenter)
            if index >= len(set_value_type_list):
                break

        self.tableView.setModel(self.model)
 def SetGfxColor(self, color):
     qcolor = QtWidgets.QColor(color.Red() * 255,
                               color.Green() * 255,
                               color.Blue() * 255,
                               color.Alpha() * 255)
     self.SetColor(qcolor)
Beispiel #11
0
 def onError(self):
     self.output.setTextColor(QtWidgets.QColor(255, 0, 0))
     self.output.insertPlainText(str(self.chestProc.readAllStandardError(), encoding="utf8"))
     self.output.setTextColor(QtWidgets.QColor(0, 0, 0))
Beispiel #12
0
    def dropEvent(self, e):

        self.changeColor(QtWidgets.QColor(e.mimeData().colorData()))

        e.setDropAction(QtCore.Qt.CopyAction)
        e.accept()