Модераторы: ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GUI WxWidgets 
:(
    Опции темы
DaemonSuw
Дата 1.11.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



я так понял нельзя в  xml файле указать например название колонки!!! WxGlade не генерит названия.... в ручную это можно сделать в xml-ке, или только через обработчик?

Это сообщение отредактировал(а) DaemonSuw - 1.11.2008, 15:39
PM MAIL ICQ   Вверх
shamber
Дата 1.11.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



DaemonSuw, скорее всего через обработчик.
Хотя можете посмотреть на примеры в wxdemo. Там есть wxXrcCustom, т.е. можно самому дописать недостающий функционал.
PM MAIL Jabber   Вверх
DaemonSuw
  Дата 20.11.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



Здравствуйте еще раз, сейчас работаю вплотную с Wx... - классная штука всем советую.... но возникли еще небольшие трудности... в общем надо сделать следующее:
есть грид, подвожу мышку к определенной ячейки/столбцу -> выдается подсказка... теоретически все вроде бы ясно.... событие на мыши wxMouseEvent -> EVT_MOTION($app, \&motion_event), там создаю новый фрайм, в процедуре вставляю нужный текст...
но оно не срабатывает на гриде... на панели срабатывает, а вот на гриде не хочет((((, в чем может быть проблема? возможно такое реализовать?
PM MAIL ICQ   Вверх
shamber
Дата 20.11.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



прикладывайте пример, того что вы пытаетесь сделать.
А также почитайте вот это может поможет
PM MAIL Jabber   Вверх
DaemonSuw
Дата 21.11.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



Спасибо, от части прояснило ситуацию, но не решило проблему... как оказалось грид - это составной элемент и использовать не может EVT_MOTION, Вот тут написано, там также написано что надо использовать обработчик событий формы, с помощью следующего заклинания wxEvtHandler::Connect(), но я не могу вызвать и найти примеры по его использованию((((
Документация к wxEvtHandler, обратите внимание на см. строки 
Цитата

Example

  frame->Connect( wxID_EXIT,
    wxEVT_COMMAND_MENU_SELECTED,
    wxCommandEventHandler(MyFrame::OnQuit) );

wxPerl note: In wxPerl this function takes 4 arguments: id, lastid, type, method; if method is undef, the handler is disconnected

Прикладываю пример тестового скрипта  smile


Это сообщение отредактировал(а) DaemonSuw - 21.11.2008, 11:57

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  test.pl 2,86 Kb
PM MAIL ICQ   Вверх
shamber
Дата 21.11.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



DaemonSuw, волшебная строчка
Код

 EVT_MOTION($grid->GetGridWindow(),\&mouse_motion);

спасет отца русской демократии smile


ЗЫ если интересно, то
Код

The wxGrid is composed of a few different windows. You need to connect your handler to the grid window.


Это сообщение отредактировал(а) shamber - 21.11.2008, 19:33
PM MAIL Jabber   Вверх
shamber
Дата 21.11.2008, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



ЗЫЫ а если вдруг захочется использовать Connect то делается это следующим образом
Код

WXWINDOWS->Connect(ID,wxID_ANY,wxEVT_MOTION,\&dummy);

WXWINDOWS указатель на окно которое получает событие, в нашем случае это окно $grid->GetGridWindow()
далее мы указываем диапазон id окон, которые должны реагировать на это событие.
ID - это id окна, в нашем случае $grid->GetGridWindow()->GetId()
wxID_ANY все окна.
wxEVT_MOTION это какое событие
dummy - метод
PM MAIL Jabber   Вверх
DaemonSuw
Дата 24.11.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



Спасибо!!! первое лекарство помогло!!! не хотело GetGridWindows работать, но это по моей вине))))). Очень странно - я не нашел ни строчки в документации к wx про GetGridWindows, (http://docs.wxwidgets.org/stable/), как будто нету такой функции(((( у грида((( 
PM MAIL ICQ   Вверх
shamber
Дата 25.11.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



DaemonSuw,GetGridWindow - не документированный метод
PM MAIL Jabber   Вверх
DaemonSuw
Дата 5.12.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



shamber, доброе время суток... подскажите пожалуйста мне на счет WxHtmlWindow, может вы с ним работали - нужен для отчетов в html-e
Не грузится окно в тестовом скрипте 
Код

use Wx::HTML;
my $frame_html_report = Wx::HtmlWindow->new(undef, -1);
  my $load_status = $frame_html_report->LoadFile("C:/debt_to_freelancers.html");
  print "No good" if !$load_status;
  $frame_html_report->Show(1);


в переменную $load_status -> передается 1, и далее пытаюсь грузить как обычное окно $frame_html_report->Show(1), но ничего не происходит((((, ошибок тоже не возникает, тоже самое и с тестовым модулем lib/Wx/DemoModules/wxHtmlWindow.pm... в чем баг?

Это сообщение отредактировал(а) DaemonSuw - 5.12.2008, 14:00
PM MAIL ICQ   Вверх
shamber
Дата 5.12.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



HtmlWindow это не самостоятельное окно, насколько я понял
поэтому, просто передайте ему указатель на родительское окно и код у Вас заработает.

Код

$this->{frame_html_report} = Wx::HtmlWindow->new($this,-1,[0,0],[400,600],);
    my $load_status = $this->{frame_html_report}->LoadFile("c:/Cell_style_definition.htm");
    print "No good" if !$load_status;


У меня прекрасно отработало.

Это сообщение отредактировал(а) shamber - 5.12.2008, 15:37
PM MAIL Jabber   Вверх
DaemonSuw
Дата 22.12.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



Здравствуйте... еще раз))) 
возникла следующая проблема... не могу найти wxWidget - WxTipWindows; как будто он не реализован для перла... вы его не использовали никогда?... google не помогает(((
PM MAIL ICQ   Вверх
shamber
Дата 23.12.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



Вы WxDemo видели? 
WxTipDialog не устраивает?
PM MAIL Jabber   Вверх
DaemonSuw
Дата 25.12.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 11.3.2008

Репутация: нет
Всего: 3



Видел.. но не подходит((( к сожалению.. так как надо что бы при наведении на какой либо объект выводилась инфа и скрывалась через какое то время... сейчас реализовани через wxMiniFrame но он не устраивает... тем что он не всегда исчезает и остается иногда на экране.... и не убирается через таймаут, но я думаю - это не трудно реализовать с помощью таймера... Просто нету какого нибудь готового решения? без лишних телодвижений))))
PM MAIL ICQ   Вверх
Gain
  Дата 13.10.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.10.2010

Репутация: нет
Всего: нет



Всем привет  smile
использую WxPerl
Как в ячейку поля вставить выбор даты?
        Например, для дробных чисел редактор существует:
   
Код

        my $grid0 = Wx::Grid->new($nb0, -1, [10, 10], [800, 600]);
        $grid0->CreateGrid(1, 12);
        my $attr = Wx::GridCellAttr->new;
        $attr->SetEditor( Wx::GridCellFloatEditor->new(-1,0) ); 
        $grid0->SetColAttr(7, $attr); # устанавливаем для каждой ячейки 7 столбца
   

        По идее должно быть что-то типа Wx::GridCellDatatEditor.
        И существует ли другой метод (не через атрибут) выставлять для всей колонки renderer или editor?
        Что-то типа $grid0->SetColFormatNumber(col), только как это заставить работать, я так и не понял...


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  main.pl 6,99 Kb
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: GUI | Следующая тема »


 




[ Время генерации скрипта: 0.1774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.