Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 2, 2011 16:12:56

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

Здравствуйте! Хочу создать с помощью питона и Qt гуи и подключить к MySQL, но информации в сети найти по данному вопросу не могу. Будьте добры подсказать, каким образом можно с помощью вышеобозначенных инструментов построить такое приложение. Заранее спасибо.

ПС: Я сам программист-самоучка и окромя дельфи ничего не видел. Там подобная задумка делается очень легко, но хотелось бы разобраться с питоном.



Офлайн

#2 Дек. 3, 2011 17:58:32

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

С помощью какого виджета подключиться к бд, и как ее предварительно создать? Подскажите!



Офлайн

#3 Дек. 3, 2011 18:36:27

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Приложение для работы с БД

Есть 2 пути - делать это через Qt или просто питон средствами подключиться. Я бы рекомендовал второй. Тут тоже ветвление -
http://sourceforge.net/projects/mysql-python/
http://toly-blog.ru/programming/python-recepty-druzhim-python-i-mysql/
или просто работаем через ODBC



Офлайн

#4 Дек. 3, 2011 18:46:29

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

doza_and
Благодарю! А как организовать подключение к БД из QT?



Офлайн

#5 Дек. 3, 2011 19:17:48

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

Или вот например: пока не дошел до мускуля, задействовал склайт:


import sqlite3

createDb = sqlite3.connect("customer.db")

queryCurs = createDb.cursor()

def createTable():
queryCurs.execute('''CREATE TABLE customers
(id INTEGER PRIMARY KEY, name TEXT, street TEXT, city TEXT, state TEXT, balance REAL)''')

def addCust(name,street,city,state,balance):
queryCurs.execute('''INSERT INTO customers (name,street,city,state,balance))
VALUES (?,?,?,?,?)''',(name,street,city,state,balance))

def main():
createTable()

addCust('Ivan','Stroitelei','SPB','Oblast','500.00')

createDb.commit()

queryCurs.execute('SELECT * FROM customers')

listTitle = ['Id Num ', 'Name ', 'Street ', 'City ', 'State ', 'Balance ']
k = 0

for i in queryCurs:
print("\n")
for j in i:
print(listTitle[k])
print(j)
if k < 5: k+=1
else: k = 0

queryCurs.close()
Через какой виджет в Qt дизайнере теперь можно подключиться к этой базе?



Отредактировано (Дек. 3, 2011 19:19:04)

Офлайн

#6 Дек. 3, 2011 21:06:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Приложение для работы с БД

:) С Qt я вам не помошник. Я им вообще не пользуюсь. GUI на wxPython. А Qt считаю не Pythonic style. А ковырять базы данных из Qt не питоник в квадрате. Посмотрите сообщения младенца у него были ссылки на документацию по Qt
http://python.su/forum/viewtopic.php?id=13023.
Может он вам поможет, по крайней мере уже пол года точно с Qt разбирается.
Сам пользуюсь почти исключительно Zodb (Если конечно не к чужим базам вяжусь)



Отредактировано (Дек. 3, 2011 21:10:11)

Офлайн

#7 Дек. 3, 2011 21:52:20

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

doza_and
Большое Вам спасибо! Буду разбираться. :)



Офлайн

#8 Дек. 4, 2011 08:40:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Приложение для работы с БД

Поставил наконец Qt4 чтобы посмотреть зверя. :( пока не очень нравится.
Есть книжка Rapid_GUI_Programming_with_PyQt. Она как раз для начинающего подойдет. То что вы ищете там в Chapter 15. Databases. Ищется и скачивается на раз.



Офлайн

#9 Дек. 4, 2011 09:51:30

Sergey_87
От:
Зарегистрирован: 2011-12-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Приложение для работы с БД

doza_and
Еще раз спасибо! А коли уж речь зашла о wxPython- для работы с БД он больше подходит? В плане изобретения велосипедов. :)

ПС: Полистал книгу, поглядел примеры- там все в одном файле прописано: и гуи, и логика, сам черт ногу сломит. (( Как сделать так, чтобы в дизайнере набросать все что надо, а потом отдельной формой подключить? Есть внятные руководства по этому?

ПС2: С помощью каких языковых конструкций при импортировании файла с написанным гуи можно ссылаться на его виджеты и проч?



Отредактировано (Дек. 4, 2011 16:36:21)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version