Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2017 10:37:26

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

Офлайн

#2 Март 16, 2017 10:51:25

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

vic57
классика
Блин, чет я такой классики не находил или плохо искал, подозреваю у Вас в закромах есть еще интересное чтиво, но мне пока хватит Хотя если есть что-то о python3 + firebird да еще и на русском - прошу поделиться.

Офлайн

#3 Март 16, 2017 12:01:11

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

MrViktor
python3 + firebird да еще и на русском
имхо пито 2 или 3 поровну
беглый гугл выдает
http://websiteprojector.blogspot.ru/2010/11/python-firebird-kinterbasdb.html
http://www.firebirdsql.su/doku.php?id=skript_dlja_rezervirovanija_bazy_dannyx_na_python
когда-то писал консольку для изучения SQL, если найду в закромах, портирую на питон и выложу

Отредактировано vic57 (Март 16, 2017 12:09:23)

Офлайн

#4 Март 16, 2017 12:47:59

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

vic57
когда-то писал консольку для изучения SQL, если найду в закромах, портирую на питон и выложу
Буду очень благодарен! В дальнейшем буду с firebird разбираться, а для работы с таблицами в PyQt4 в частности заполнение: либо циклом, либо через модель данных (в зависимости от того что используешь Table Widget или Table View), для себя решил, что лучше через модель. Вот если б еще и GUI пример бы был

Rodegast
Ну и вот пример как надо на python-е писать:
К Вам еще с вопросами вот переписал метод с учетом Ваших замечаний
     def headerData (self, selection, orentation, role=Qt.DisplayRole):
        if role == Qt.DisplayRole:
            if orentation == Qt.Horizontal:
                return 'Column %s'%selection
            else:
                return 'Row %s'%selection
        else: return None
Сильнее его не опитонить?

Еще вот такой метод
     def flags(self, index):
        if not index.isValid:
            return Qt.ItemIsEnabled
        return super(StringListModel, self).flags(index) | Qt.ItemIsEditable
Есть ли принципиальная разница, если из основного условия убрать отрицание и ретурны соответственно местами поменять?

А в следующем методе, надо ли переменной i дописать self?
     def insertRows(self, position, rows, parent = QModelIndex()):
        self.beginInsertRows(QModelIndex(), position, position+rows-1)
        i = 0
        while i < rows:
            self._stringList.insert(position, '')
            i += 1
        self.endInsertRows()
        return True

И самое не дающее мне покоя при закрытии моего примера (при условии, что по форме не кликали мышкой т.е. запустили и тут же закрыть) в консоли выводится ошибка
 QObject::startTimer: QTimer can only be used with threads started with QThread
Что-то я ее отловить никак не могу.

Офлайн

#5 Март 16, 2017 14:15:46

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

> на текущий момент работаю над пониманием функционала, а они вроде нужны только визуального оформления или я не прав?

Они нужны для задания геометрии виджетов в зависимости от родителя.

> примеры из поставки кьюта давно опитонены

Эти примеры поставляются в месте с PyQt/PySide

> Сильнее его не опитонить?

Если поток исполнения не доходит до return, а функция заканчивается, то он возвращает None. По этому строка else: return None не имеет никакого смысла. Её лучше убрать.

> Есть ли принципиальная разница, если из основного условия убрать отрицание и ретурны соответственно местами поменять?

Нет. isValid это метод, по этому его нужно вызвать.

> А в следующем методе, надо ли переменной i дописать self?

Не надо.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#6 Март 16, 2017 14:21:32

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

Rodegast
Нет. isValid это метод, по этому его нужно вызвать.
Я другое имел ввиду, именно получается вот так
 def flags(self, index):
        if index.isValid:
            return super(StringListModel, self).flags(index) | Qt.ItemIsEditable
        return Qt.ItemIsEnabled

Офлайн

#7 Март 16, 2017 15:18:46

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

нашел, реанимировал.
я писал для изучения sql

Прикреплённый файлы:
attachment src.tar.gz (1,3 KБ)

Офлайн

#8 Март 16, 2017 16:05:21

MrViktor
Зарегистрирован: 2017-03-09
Сообщения: 83
Репутация: +  8  -
Профиль   Отправить e-mail  

Пример Qt4 с C++ на python 3

vic57
нашел, реанимировал.
Здорово, главное что не километры кода основное есть, дальше будем разбираться (смотрю теги html используются. Я про это читал, но не пробывал, а тут бонусом пример).

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version