私は、GUIのスタックウィジェットのページの1つに図を描画しようとしていました。私はこのような画家のクラスをしている :その後、私は、私は画家のクラスを呼び出す私の積み重ねウィジェット上のいずれかのページを持つクラスを持っているQPaintEventはstackedWidgetにペイントするときにQLineEditを無効にします - PyQt
class Painter(QtGui.QWidget):
def __init__(self):
super(Painter, self).__init__()
def paintEvent(self, e):
qp = QtGui.QPainter(self)
self.draw_lines(qp)
def draw_lines(self, qp):
pen = QtGui.QPen(QtCore.Qt.blue, 2, QtCore.Qt.SolidLine) # draw graph
qp.setPen(pen)
qp.drawLine(80, 209, 150, 209)
qp.drawLine(150, 209, 220, 60)
qp.drawLine(430, 60, 500, 209)
qp.drawLine(500, 209, 570, 209)
qp.drawLine(220, 60, 430, 60)
:
# create page 2
self.page_2 = QtGui.QWidget()
self.main_layout = QtGui.QGridLayout()
self.page_2.setLayout(self.main_layout)
# create group box
self.group_box = QtGui.QGroupBox(self.page_2)
# add plot diagram
self.PaintPanel = diagram.Painter()
self.PaintPanel.close()
self.main_layout.addWidget(self.PaintPanel, 0, 0)
# set text field
self.text = QtGui.QLineEdit(self.group_box)
self.text.setGeometry(QtCore.QRect(160, 330, 41, 21))
self.stackedWidget.addWidget(self.page_2)
私の問題は、にQLineEditになるということですペインタクラスウィジェットを追加すると、非アクティブ(ブロック/フリーズ?)になります。これがなければ、QLineEditは正常に動作します。私はなぜそれが問題なのか、これをどうやって解決するのだろうか?どんな助けでも大歓迎です。ありがとう
申し訳ありません。ありがとう、私はどこに私のエラーがあるか理解しています。だから、私はそれが似ていることを望んでいます:ダイアグラムが座っていないようにページの上にPainterクラスによって描画されたダイアグラム(例えば、QFrameなどでペイントされたもの)とページの一番下にあるQLineEditもうQLineEdit。それをどのようにアーカイブすることができますか?どんなヒントも助けになるでしょう:) – nela
私はそれを今考え出しました。あなたの助けをありがとう@goug – nela
あなたは大歓迎です。うれしいことはうれしいです。 – goug