20x20ピクセルのカスタムプッシュボタンを描画しようとしています。私はのQPushButtonを継承するクラスを作成し、私は以下のコードでpaintEventメソッドを上書きしていますPySide QPrinterオフセット問題付きQPainter.drawRect()
painter = QtGui.QPainter(self)
x = self.rect().x()
y = self.rect().y()
width = self.rect().width()
height = self.rect().height()
painter.setBrush(QBrush(QColor(170, 97, 112)))
painter.drawRect(x, y, width, height)
そして、これは私は(Photoshopで編集した)得るものです:
あなたがはっきりと見ることができますxの両方の1ピクセルオフセット、左上のyディメンション
なぜこれが起こっているのだろうかと思っていました。私はxとyから1ピクセルを抽出し、幅と高さに1ピクセルを加えることでこれを取り除くことができるので、その値は次のようになります。 y = -1;幅= 21;高さ= 21
しかし、これはちょうど私に嫌な感じです。私はこれがQt(あるいは多分ちょうどPySide)の問題か、何かを理解していないかどうか分かりません。
あなたのカスタムプッシュボタンのサイズは20×20で、まだ上記の画像は、長方形の22×22を示していると述べています。上の画像のどの部分が実際にあなたの*押しボタンですか? –
@ G.M。いいえ、実際は20x20です。ボタンに赤いブラシ(0〜20)を付けました。このように画像自体はちょうど切り取られています。これは決して混乱しないと申し訳ありません。 – Makal