python pyqt5 как использовать метод qlistview.clicked () [duplicate]

Вот еще одна модифицированная версия, которая будет сравнивать меньшее совпадение подстроки. Это работает в Oracle 11g.

DECLARE
  match_count INTEGER;
-- Type the owner of the tables you are looking at
  v_owner VARCHAR2(255) :='OWNER_NAME';

-- Type the data type you are look at (in CAPITAL)
-- VARCHAR2, NUMBER, etc.
  v_data_type VARCHAR2(255) :='VARCHAR2';

-- Type the string you are looking at
  v_search_string VARCHAR2(4000) :='%lower-search-sub-string%';

BEGIN
  FOR t IN (SELECT table_name, column_name FROM all_tab_cols where owner=v_owner and data_type = v_data_type) LOOP

    EXECUTE IMMEDIATE 
    'SELECT COUNT(*) FROM '||t.table_name||' WHERE lower('||t.column_name||') like :1'
    INTO match_count
    USING v_search_string;

    IF match_count > 0 THEN
      dbms_output.put_line( t.table_name ||' '||t.column_name||' '||match_count );
    END IF;

  END LOOP;
END;
/
1
задан matt 26 May 2010 в 11:16
поделиться

2 ответа

Imho, более простой способ добиться этого - использовать QListWidget вместо QListView, таким образом вы можете использовать сигнал itemClicked, который отправляет выбранный элемент функции обратного вызова.

1
ответ дан MatToufoutu 19 August 2018 в 19:10
поделиться

Это snipplet кода того, как я его достиг:

class VenueList(QListView):
    def __init__(self, parent, venues):
        super(VenueList, self).__init__(parent)
        self.clicked.connect(self.venue_selected)
        [...]

    def venue_selected(self, index):
        venue = self.model().data(index, VenueListModel.VenueRole)
        doStuff()

Вы можете просмотреть полный код того, как я использовал это здесь (строка 69). Однако я предупреждаю вас, что этот код довольно плох и нуждается в серьезном рефакторинге.

0
ответ дан WhyNotHugo 19 August 2018 в 19:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: