Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 ... 9 ОтправитьПечать
Очень популярная тема (более 25 ответов) на связке Python + Qt пишу для себя чтото... (число прочтений - 73122 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #30 - 09. Ноября 2009 :: 22:46
Печать  
blindvic писал(а) 09. Ноября 2009 :: 21:04:
Мне не нравится вид выпадающего календаря, в том числе отсутствие кнопки "сегодня".

тоже кстати не нравится. ще не нравится то, что календать "одномесячный". Улыбка иногда, редко правда нужно больше.
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #31 - 10. Ноября 2009 :: 07:27
Печать  
trdm писал(а) 09. Ноября 2009 :: 22:46:
blindvic писал(а) 09. Ноября 2009 :: 21:04:
Мне не нравится вид выпадающего календаря, в том числе отсутствие кнопки "сегодня".

тоже кстати не нравится. ще не нравится то, что календать "одномесячный". Улыбка иногда, редко правда нужно больше.

В будущем можно будет подправить - при изменении размера окна - пихать туда побольше месяцев
  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #32 - 11. Ноября 2009 :: 09:27
Печать  
Сделал выпадающий календарь.
Запускать test_m_DateEdit.py
  

m_DateEdit.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #33 - 11. Ноября 2009 :: 10:57
Печать  
blindvic писал(а) 11. Ноября 2009 :: 09:27:
Сделал выпадающий календарь.
Запускать test_m_DateEdit.py

Тады давай колись, че помимо Qt и питона нужно в системе, что-бы эту хрень пощупать можно было.
И скрин прилепи, если можно.
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #34 - 11. Ноября 2009 :: 12:25
Печать  
Я Кубунту установил - там все есть (вроде бы Python, PyQt 4.5 и Qt).
Чтобы запустить, набираешь в консоли
Код
Выбрать все
python test_m_DateEdit.py 



Под виндой - не знаю
  

12_001.PNG ( 46 KB | Загрузки )
12_001.PNG
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #35 - 11. Ноября 2009 :: 12:41
Печать  
Текущие фичи:
календарь выпадает по нажатию Инсерт или кнопки "..."
окно календаря подгоняется, чтобы не воходило за пределы экрана
PgDn, PgUp, колесико мышки - месяц вперед, назад
Дата выбирается мышкой или по вводу
По Еск и Инсерт - календарь закрывется
На окне календаря можно набирать (нажимать) цифры требуемой даты

Календарь позволяет выделать определенные даты нужным шрифтом.

Я только начинаю работать в кьют и питоне - так что буду рад услышать замечания и предложения по улучшению.

Надо будет доделать кнопку сегодня, меню стандартных дат (конец периода и тп.п), ручной ввод даты, сделать плагин к qt4-designer, чтобы можно было эти виджты на форму кидать.

Ну и еще есть идеи по поводу самой платформы...
  

11_002.PNG ( 122 KB | Загрузки )
11_002.PNG
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #36 - 11. Ноября 2009 :: 13:16
Печать  
Я так понял что вы с автором ветки вместе будете работать Улыбка
Ну а у мну питона нет, прийдется чисто на Qt.
  
Наверх
IP записан
 
villager
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 101
Зарегистрирован: 21. Октября 2009
Re: на связке Python + Qt пишу для себя чтото...
Ответ #37 - 11. Ноября 2009 :: 16:47
Печать  
trdm писал(а) 11. Ноября 2009 :: 13:16:
Ну а у мну питона нет

от великого (с++)  до питона - один шаг Улыбка

пришлось мне начать писать полноразмерный отчеттер Улыбка
т.к. ничего готового не предвидится

пока вывожу в PDF (reportlab)

пользуюсь только примитивными вещами, типа линия, прямоугольник, прямоугольник с текстом,
поэтому легко будет переправить в HTML, да и на принтер отрисовать тоже...

основная идея - каждый фрагмент отчета представляет собой таблицу произвольных размеров
разрешено прямоугольное объединение клеток, ширина колонок задается либо точно, либо в % (как HTML)

фрагментов можно сделать много, каждый будет иметь свою роль  - заголовок  страницы(таблицы), итог по странице(таблице)
детальная (повторяющаяся таблица с привязкой к таблице БД) и т.п.

сам отчет можно будет писать как программу (класс), или та же программа может хранится в БД,
разложенная на кусочки

если есть идеи, предложения, критика - давайте сюда

  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #38 - 11. Ноября 2009 :: 20:00
Печать  
villager писал(а) 11. Ноября 2009 :: 16:47:
trdm писал(а) 11. Ноября 2009 :: 13:16:
Ну а у мну питона нет
от великого (с++)  до питона - один шаг Улыбка
пофиг, останусь чисто на Qt/C++. Питон не нравится.
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #39 - 14. Ноября 2009 :: 10:41
Печать  
trdm писал(а) 09. Ноября 2009 :: 12:36:
Хм. Ето не единственная проблема с точки зрения LIKE 1C c Qt.
Там нет простого многострочного редактора, а есть мощный на основе QTextEdit. Для целей LIKE 1C, он слегка избыточен.

http://doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/gui/QPlainTextEdit.ht...
Цитата:
QPlainTextEdit is an advanced viewer/editor supporting plain text. It is optimized to handle large documents and to respond quickly to user input.
QPlainText uses very much the same technology and concepts as QTextEdit, but is optimized for plain text handling.

  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #40 - 14. Ноября 2009 :: 11:48
Печать  
blindvic писал(а) 14. Ноября 2009 :: 10:41:
trdm писал(а) 09. Ноября 2009 :: 12:36:
Хм. Ето не единственная проблема с точки зрения LIKE 1C c Qt.
Там нет простого многострочного редактора, а есть мощный на основе QTextEdit. Для целей LIKE 1C, он слегка избыточен.

http://doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/gui/QPlainTextEdit.ht...

Ссылка на джамби Улыбка я пользуюсь чистым С++Qt.
Логичнее эта ссылка: http://doc.trolltech.com/4.5/qplaintextedit.html
ПС. Такой-же перегруженный контрол.
  
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #41 - 14. Ноября 2009 :: 19:28
Печать  
trdm писал(а) 14. Ноября 2009 :: 11:48:
ПС. Такой-же перегруженный контрол.

Озадачен
  
Наверх
 
IP записан
 
villager
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 101
Зарегистрирован: 21. Октября 2009
Re: на связке Python + Qt пишу для себя чтото...
Ответ #42 - 25. Ноября 2009 :: 18:27
Печать  
по отчетам кое что готово
строятся таблицы, суммируются итоги, выводится в PDF(результат прилагается)

вот код для формирования этого отчета
Код
Выбрать все
	  #откроем БД
	  db=pentadb.pentaBase(driver="QSQLITE", database="./tlw_test.sqlite")
	  #получим таблицу test
	  test=db.test
	  #откроем таблицу
	  test.refresh()
	  #создаем канву для вывода
	  r=zzPageReport ("zzr.pdf", format="border-width:1")
	  #заголовок страницы
	  ph=zzBaseGrid(2, 2, format="text-align:center;border-width:4;")
	  ph.setHeight("1;0.2")
	  ph.setData(1, 1, u"Программа Пента", format="font-size:25pt")
	  ph.setData(2, 1, u"Проба", format="font-size:25pt;text-align:right")
	  ph.span(1, 2, 2, 2)

	  pf=zzBaseGrid(3, 1, format="text-align:center;")
	  pf.setHeight("2")
	  pf.setData(1, 1, u"подвал страницы")
	  #грид с детальной информацией
	  dtl=zzBaseGrid(7, 1, format="text-align:right")
	  dtl.setWidth("20%")
	  dtl.setHeight("0.8;0.5")
	  dtl.setData(2, 1, "a")
	  dtl.setData(3, 1, "b")
	  dtl.setData(4, 1, "c")
	  dtl.setData(5, 1, "x")
	  dtl.setData(6, 1, "y")
	  dtl.setData(7, 1, "z")
	  #грид заголовка - делаем через копию детального, чтобы не повторять описание
	  th=deepcopy(dtl)
	  th.format="text-align:center;"
	  th.setHeight("1") #выставляем высоту строк - по сантиметру
	  th.setData(1, 1, u"Заголовок таблицы")
	  th.setFormat(1, 2, u"text-align:left;border-width:1 1 1 1")
	  #грид заголовка первого уровня группировки
	  g1h=zzBaseGrid(7, 1)
	  g1h.setWidth("20%")
	  g1h.span(1, 1, 7, 1)
	  g1h.setData(1, 1, 2*" "+u"заголовок 1", "text-align:left;")
	  #грид заголовка второго уровня группировки
	  g2h=zzBaseGrid(7, 1)
	  g2h.setWidth("20%")
	  g2h.span(1, 1, 7, 1)
	  g2h.setData(1, 1, 8*" "+u"заголовок 2", "text-align:left;")
	  #грид итога первого уровня группировки
	  g1f=deepcopy(dtl)
	  g1f.setData(1, 1, 2*" "+u"итог 1", "text-align:left;")
	  #грид итога второго уровня группировки
	  g2f=deepcopy(dtl)
	  g2f.setData(1, 1, 8*" "+u"итог 2", "text-align:left;")
	  #грид итога
	  tt=deepcopy(dtl)
	  tt.setData(1, 1, u"Общий итог")
	  tt.setHeight("0.5")
	  #грид итога по станице
	  pt=deepcopy(dtl)
	  pt.setData(1, 1, u"Итог по странице")
    ##############################
	  #привязываем к детальному гриду группировки поля a,b таблицы БД
	  dtl.addGroup("a", g1h, g1f)
	  dtl.addGroup("b", g2h, g2f)
	  #привязываем грид для заголовка таблицы, отображения итога,итога по станице
	  dtl.headGrid=th
	  dtl.totalGrid=tt
	  dtl.totalPageGrid=pt
    ##############################
	  #создаем документ для печати
	  dc=zzPrintDoc()
	  #добавим заголовок и подвал страницы
	  dc.append(ph, dc.PHEAD)
	  dc.append(pf, dc.PFOOT)
	  #добавим детальную таблицу
	  dc.append(dtl, dc.DETAIL, test)
	  #выведем документ на канву r
	  dc.go(r)
	  dc.go(r)
	  dc.onEndOfPage()
	  #сохраним канву
	  r.save()
	  #просмотрим отчет
	  os.system('zzr.pdf')
    ##############################################

 




сейчас начну копать в сторону RTF и HTML
RTF - страшен Улыбка

  

zzr.pdf ( 54 KB | Загрузки )
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #43 - 25. Ноября 2009 :: 22:05
Печать  
Ну ты монстр
А отредактировать отчет перед печатью или сжать с использованием масштаба или опции по ширине листа твоя супер-отчетная система сможет?  Моя вот может: )))))
а в пдф я легко выгоню Улыбка)))) Не мучай ##пу Улыбка лучше разберись Улыбка))
  

press.PNG ( 54 KB | Загрузки )
press.PNG
Наверх
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: на связке Python + Qt пишу для себя чтото...
Ответ #44 - 26. Ноября 2009 :: 07:48
Печать  
trdm писал(а) 25. Ноября 2009 :: 22:05:
Ну ты монстр
А отредактировать отчет перед печатью или сжать с использованием масштаба или опции по ширине листа твоя супер-отчетная система сможет?  Моя вот может: )))))
а в пдф я легко выгоню Улыбка)))) Не мучай ##пу Улыбка лучше разберись Улыбка))

Так нужны байндинги для питона к твоей компоненте

API - окончательный вариант?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 ... 9
ОтправитьПечать