选择/单击QScrollArea条目时会发出哪种信号?

时间:2018-08-16 07:13:12

标签: python pyqt4

我正在花时间弄清楚在以下情况下会发出哪种信号:

enter image description here

基本上是QScrollArea,其中包含多个QTableWidget

class ScrollArea(QtGui.QScrollArea):
    def __init__(self):
        super(ScrollArea, self).__init__()
        self.scroll_widget = QtGui.QWidget()
        self.scroll_layout = QtGui.QVBoxLayout()
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setWidgetResizable(True)
        self.__create_content()
        self.setWidget(self._content_widget)
        self.scroll_layout.addWidget(self)
        self.scroll_widget.setLayout(self.scroll_layout)

    def __create_content(self):
        self._content_widget = QtGui.QWidget()
        self._content_widget_layout = QtGui.QVBoxLayout()
        self._content_widget.setLayout(self._content_widget_layout)

    def add_item(self, item):
        self._content_widget_layout.addWidget(item)

我正在为Plastique使用QApplication风格。从上图可以看出,在QScrollArea内单击一个项目时,会出现蓝色边框。我想知道绘制边界时会发出哪个信号?我需要这些信息,因此每当单击按钮(位于左侧)时,都可以将行添加到所选的QTableWidget上。

您还可以看到每个表中都有一个“ x”,当按下“ x”时,QTableWidgetQScrollArea中被删除。如果有解决先前问题的方法,我还可以根据用户选择而不是用户单击“ x”来删除QTableWidget

1 个答案:

答案 0 :(得分:1)

要获取具有焦点的小部件,可以使用focusChanged的{​​{1}}信号:

QApplication