Всё мучаю yagf, хочу вместо тулбара коий имеется в версии 0.8.1 сделать нормальную панель миниатюр по аналогии как в программе просмотра документов Okular.
Где можно посмотреть пример реализации? Сайт http://okular.kde.org/ что то не открывается.
Панель "миниатюры" из Okular
Модератор: Модераторы разделов
-
- Сообщения: 681
- Статус: ...
Re: Панель "миниатюры" из Okular
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
-
- Сообщения: 151
- ОС: Mandriva 2009 Spring
Re: Панель "миниатюры" из Okular
Спасибо. А как обычно люди такое качают, по одному файлу?
-
- Сообщения: 151
- ОС: Mandriva 2009 Spring
Re: Панель "миниатюры" из Okular
Ещё раз спасибо за ссылку, вопрос о том как скачать снимается, написал небольшой скриптик на php для этой цели:
Код: Выделить всё
<?
set_time_limit(3600);
loadDir("http://websvn.kde.org/trunk/KDE/kdegraphics/okular/","http://websvn.kde.org/*checkout*/trunk/KDE/kdegraphics/okular/");
function loadDir($dir,$ddir,$base="./"){
print "$base<br/>";flush();
$c=file_get_contents($dir);
if(preg_match_all("#<img src=\"/docroot/images/text.png\" alt=\"\" class=\"vc_icon\" />\s*(.+?)</a>#is",$c,$regs)){
for($i=0;$i<count($regs[0]);$i++){
print "$base{$regs[1][$i]}<br/>";flush();
$f=file_get_contents($ddir.$regs[1][$i]);
file_put_contents($base.$regs[1][$i],$f);
}
}
if(preg_match_all("#<img src=\"/docroot/images/dir.png\" alt=\"\" class=\"vc_icon\" />\s*(.+?)/</a>#is",$c,$regs)){
for($i=0;$i<count($regs[0]);$i++){
mkdir($base.$regs[1][$i],0777);
loadDir($dir.$regs[1][$i]."/",$ddir.$regs[1][$i]."/",$base.$regs[1][$i]."/");
}
}
}
?>
-
- Сообщения: 151
- ОС: Mandriva 2009 Spring
Re: Панель "миниатюры" из Okular
Я так понимаю, панель эта реализована на основе класса QListWidget :-)
-
- Сообщения: 151
- ОС: Mandriva 2009 Spring
Re: Панель "миниатюры" из Okular
А я не понял. То что я хочу реализуется классом QListWidget, Но как объект этого красса пристроить к главному окну QMainWindow?
QMainWindow имеет метод addDockWidget() но он не подходит, ибо ему передаётся QDockWidget, что не имеет ничего общего с QListWidget.
QMainWindow имеет метод addDockWidget() но он не подходит, ибо ему передаётся QDockWidget, что не имеет ничего общего с QListWidget.
-
- Сообщения: 2095
- Статус: Ромунцель
- ОС: ALTLinux Sisyphus
Re: Панель "миниатюры" из Okular
i Уведомление от модератора Уважаемый автор темы, поправьте слово "миниатюры" в заголовке темы. Спасибо.
-
- Сообщения: 151
- ОС: Mandriva 2009 Spring
Re: Панель "миниатюры" из Okular
Ага, немного поизвращался и решил таки задачу, завернул свой листвиджет в доквиджет который потом засунул на страницу :-)