Russian Qt Forum
Апрель 30, 2024, 00:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Qt 4.2.3 Дерево в комбобоксе  (Прочитано 19136 раз)
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #15 : Июнь 28, 2007, 08:35 »

Цитировать

Полностью согласен. Написал им более 10 багрепортов... А в ответ - тишина...
Но хотелось бы какой-нибудь конкрктный пример "отстоя", на плюсах желательно, строк на 3-5, чтобы убедиться что ты в курсе того о чём говоришь.


Пример прям щас не подгоню, но там все мрачно выглядит... Чего стоят одни эти Properties... Билдер - это вообще микс С++ и паскаля. Здоровенный монстр, тормознутый и кривой. Часто собранная ехе в конце работы пишет runtime error... Это особенно если всякий мрак типа СОМ с ним юзать.

Цитировать

На вкус и цвет... А много ли ты писал на том или другом?
Вобще на чём кроме плюсов?


Много на чем писал... С\С++, Asm, Delphi, Java, JSP, PHP... немного Ада затрагивал по одному проекту... Но, честно говоря, больше предпочтений все равно плюсам - как языку с намного большими возможностями.
Если писать под десктоп - это самое оно.
Если под веб - больше РНР уважаю.
А все эти новомодные Руби, Питоны... ну странное оно все какое-то... Языки решают задачи, которые до их появления не существовали ИМХО...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Tonal
Гость
« Ответ #16 : Июнь 28, 2007, 10:33 »

Цитата: "Racheengel"
Цитировать
...хотелось бы какой-нибудь конкрктный пример "отстоя"...
чтобы убедиться что ты в курсе того о чём говоришь.

Пример прям щас не подгоню, но там все мрачно выглядит...

Жаль. А я уж решил что ты действительно знаешь о чём говоришь. ;-(
Там призабавные перлы как раз строчек на 3-5 встречаються... ;-)
Цитата: "Racheengel"

Чего стоят одни эти Properties... Билдер - это вообще микс С++ и паскаля. Здоровенный монстр, тормознутый и кривой. Часто собранная ехе в конце работы пишет runtime error... Это особенно если всякий мрак типа СОМ с ним юзать.

Проперти - эт. нормально вполне. Кстати и не багландом а микрософтом придуманы и реализованы.
И на чистом плюсе строк в 20 укладываються. ;-)
А насчёт runtime error в конце - так это вполне классическая ошибка криворуких кодеров. Причём это проблема VCL-я а не Builder-а или Delphi. Довольно просто отлавливается, если знать куда смотреть.
Думаю и на Qt подобного вполне можно добиться, если не следить за зависимостями. Хотя в VCL-е этого конечно проще добиться...
Не написав не строчки кода! ;-)
Цитата: "Racheengel"

А все эти новомодные Руби, Питоны... ну странное оно все какое-то... Языки решают задачи, которые до их появления не существовали ИМХО...

Вот простенькая задачка:
Написать функцию которая по входной строке целых чисел разделённых пробелами возвратит строку из квадратов этих чисел разделённых пробелами.
Вот, решение на Python:
Код:

def str_sqare(s_in):
 return ' '.join(int(x)*int(x) for x in s_in.split())

Вроде вполне нормальная задачка - вполне до появления Python-а могла возникнуть.
Нарисуй аналог на том же плюсе или php. ;-)
И сравним, кто более выразительный.
Записан
Steven_Orko
Гость
« Ответ #17 : Июнь 28, 2007, 11:02 »

Че вы спорите?Непонимающий Вы сравниваете два языка совершенно разного поколения!!!! О чем вообще может идти речь??? Аналог вашего спора - это спор между любителем писать в машинных кодах и на языке C.
Python -  интерпретируемый объектно-ориентированный язык программирования высокого уровня.
Современный С++ - компилируемый строго типизированный язык программирования общего назначения.
Хотя, может Tonal пытается доказать, что он умнее, опытнее Racheengel? Это уже оффтоп.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #18 : Июнь 28, 2007, 11:25 »

Поверь мне, я знаю, о чем я говорю. Я писал на делфе где-то с 2000 по 2004 год. Потом, в 2004, перешел на Qt, о чем нисколько не жалею. Последний дельфовый проект пришлось делать где-то год назад (с большими матами, причем это был порт чужого глючного кода), так что естественно, что я уже не вспомню конкретные проблемы, для этого надо лезть в давно забытые архивы.
Может, ты сам таки кинешь 3-5 строк кода? Улыбающийся

А вот решение на С++/Qt.

Код:
QString str_square(const QString &s_in)
{
  QTextStream ts(&s_in);
  QString s;
  QTextStream ts2(&s);
  double d;
  while (!ts.atEnd()) {
     ts >> d; s << d*d << " ";
  }
  return s;
}



Не знаю, что имеется в виду под выразительностью, но кутишный код имхо проще и понятнее по смыслу. Все разбито на логически завершенные элементы.
Чего не могу сказать про питон. Там все намешано в кучу.

добавлено спустя:

 Вдогонку: да, я могу согласиться, что на Питоне код получится поменьше.
Но как правило, конечному пользователю плевать, сколько в программе кода и на чем она писана. Главный показатель - это эффективность, и тут уж плюсы уступят только асму. Сколько, к примеру, времеми займет данный пример на питоне, примененный к миллиону строк, в каждой из которой по тысяче цифр? А на плюсах? Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Tonal
Гость
« Ответ #19 : Июнь 28, 2007, 12:27 »

Цитата: "Racheengel"
Может, ты сам таки кинешь 3-5 строк кода? Улыбающийся

Легко:
Код:

struct test_t {
  test_t() : {cout<<"test_t"<<endl;}
  ~test_t() {cout<<"~test_t"<<endl;}
};
int main() {
  return sizeof test_t(666);
}
//вывод
~test_t

Чёрт, на 2 строки больше! ;-)
Цитата: "Racheengel"
А вот решение на С++/Qt...

Мне больше так нравиться:
Код:
QString str_square(const QString &s_in) {
  QStringList tmp;
  foreach (QString str, s_in.trimmed().split(QRegExp("\\s+"))) {
    int i = str.toInt();
    tmp.push_back(QString::number(i * i));
  }
  return tmp.join(" ");
}


Похоже действительно пора завязывать с этим трёпом.
Совсем офтоп пошел. ;-)
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #20 : Июнь 29, 2007, 10:03 »

Ага Улыбающийся завязываем. А то начали про комбо-дерево, а закончили какой то лажей...

PS. А 1й пример не скомпилится Грустный
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
SABROG
Гость
« Ответ #21 : Июнь 29, 2007, 13:07 »

Насчет раскрытия дерева при клике на корень. Можно использовать правую кнопку мышки вместо левой.
Записан
Tonal
Гость
« Ответ #22 : Июль 01, 2007, 13:32 »

Цитата: "Racheengel"
PS. А 1й пример не скомпилится Грустный

Ну там понятно нужно iostrem заинклюдить, да using сделать.
Я только сам код привёл.

Аналогичные ляпы у них с typeid и даже с тернатным оператором и статиками можно наткнуться... ;-(
Хотя статики они починили.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #23 : Июль 01, 2007, 16:06 »

не, не поэтому...

sizeof test_t(666);

а конструктора с параметрами нету. sizeof test_t(); будет работать.

добавлено спустя 14 минут:

 ладно, что то все оффтопы да оффтопы...
скоро, надеюсь, выложу комбо-дерево на сайте... там же где и Value Browser (www.ii-system.com)
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Tonal
Гость
« Ответ #24 : Июль 02, 2007, 07:29 »

Кстати, проблему с currentIndex я в показанном коде решил таким образом:
при закрыии устанавливаю rootItem в текущий выбранный, а при открытии - в корень (см __setCurModInd).
Тогда индекс комбика всегда соответствует индексу выбранного элемента. ;-)
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 22.