Я пытался нарисовать диаграмму на одной из моих страниц на стеке в моем графическом интерфейсе. У меня есть класс художника, как это:QPaintEvent отключает QLineEdit при рисовании на stackedWidget - 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)
Тогда у меня есть класс с одной из страниц на моем сложенных виджете, где я называю Painter класс:
# 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 становится неактивен (заблокирован/заморожен?), когда я добавляю виджет класса Painter. Без этого QLineEdit отлично работает. Интересно, почему это и как это исправить? Любая помощь будет высоко ценится. Спасибо
Хорошо, я понял. Большое вам спасибо, я понимаю, где моя ошибка. Поэтому я хочу, чтобы это было похоже: диаграмма, написанная классом Painter поверх страницы (например, нарисованная на QFrame или что-то в этом роде) и QLineEdit в нижней части страницы, чтобы моя диаграмма не сидела на QLineEdit больше. Знаете ли вы, как я могу архивировать это? Любой подсказку будет полезно спасибо :) – nela
Я понял это сейчас. Благодарим за помощь @goug – nela
Добро пожаловать. Рад, что это было полезно. – goug