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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 756 757 [758] 759 760 761
11356  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 15:48
Ну и какой здесь скрытый смысл?
Ради какой оптимизации это сделано?
Намекнуть/подсказать ?  Улыбающийся
11357  Qt / Общие вопросы / Re: QFileDialog - не правильно работает под MAC : Август 29, 2009, 14:59
Во-первых Есть!
Запускаем что-нибудь ходовое, например TextEdit. Нажимаем Command-O
(см. attachment). Не вижу строки ввода а только строку search  Улыбающийся
Во-вторых в доке по QFileDialog, нет упоминаний на ограничения для Mac!
В-третьих в режиме QFileDialog::AcceptSave, строка появляется, но дерево навигиции не раскрыто(как при QFileDialog::AcceptOpen), приходиться раскрывать ручками.
В первый раз - да, потом дерево будет раскрыто. Как и для любого другого application.
11358  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 14:36
Часто бывает, что используются куски кода из других библиотек. Вполне возможно программист просто перенес функции работы с матрицами из одной из таких библиотек к себе в проект...  Непонимающий
Ничего он не переносил, программист классный (хоть и из Колорадо). Конечно. можно написать как Вы или я предложили. Но у него сделано проще и лучше.
11359  Qt / Общие вопросы / Re: QFileDialog - не правильно работает под MAC : Август 29, 2009, 14:18
Просто в нативном Mac файл диалоге нет строки ввода  Улыбающийся
Если она все же нужна, используйте не-нативный

dialog.setOption(QFileDialog::DontUseNativeDialog, true);
11360  Программирование / С/C++ / Re: Передача параметров/аргументов : Август 29, 2009, 13:43
Я так понимаю, что это C.

typedef struct {
  double m[4][4];
} Matrix;

Вот это было бы "С"  Улыбающийся

Думаю программист хотел указать, что исходная (theSourceMatrix) в функции не изменяется, в отличии от результирующей (theInvertedMatrix).
Тогда почему не

void InvertMatrix( Matrix * theInvertedMatrix, const Matrix4 * theSourceMatrix );

?
11361  Программирование / С/C++ / Передача параметров/аргументов : Август 29, 2009, 13:27
Добрый день

struct Matrix {
  double m[4][4];
};

void InvertMatrix( Matrix * theInvertedMatrix, Matrix theSourceMatrix );

Почему программист выбрал такой способ передачи параметров?
11362  Программирование / С/C++ / Re: Подстновка функции в саму себя : Август 28, 2009, 20:30
т.е. чтобы не реализовывать новую функцию №2 с другим именем, могу ли я реализации №1 и №2 написать с одним именем?
и что нужно, чтобы сработала подстановка?

примерчик пожалуйста Улыбающийся
Можете.

int read( char * dst, int len ) {...}
int read( void * dst, int len ) {...}

Но в С++ это просто 2 разные функции и никакой подстановки нет. Практически это приносит только неудобства - все время надо помнить "который read"
11363  Qt / XML / Re: Самоудаление : Август 28, 2009, 20:04
Да (к сожалению)
11364  Qt / Пользовательский интерфейс (GUI) / Re: QLabel в методе текст утечка памяти : Август 27, 2009, 19:59
Имеет смысл заменить ui.labelSizeQueue на какую-нибудь постороннюю/чистую QLabel, можно static. И посмотреть что будет. Потом (если не поможет) слить все строки в файл (или лог) и посмотреть что то за строки. Потом еще что-то придумается  Улыбающийся
11365  Программирование / Общий / Re: Почему отладчик не показывеат переменные? : Август 27, 2009, 19:18
Замечал такой эффект не только при работе в AVRStudio, но и в других средах и для других платформ (например в KDevelop при написании программ с использованием Qt  для PC).
В других средах - но тоже замечал. Если оптимизация включена. то вообще что показывать а что нет - выглядит как личное дело отладчика  Улыбающийся Но даже и без оптимизации переменные часто обновляются в окнах отладки только после следующего шага
11366  Qt / Пользовательский интерфейс (GUI) / Re: QLabel в методе текст утечка памяти : Август 27, 2009, 18:55
Объем памяти увеличивается за 10000 раз вызова на 500кб!
Но когда создаю простейший тест то изменение ни как в объеме занимаемой программы не происходит!
А когда в своей программе  оставляю такой код
void LogServer::setSizeQueue(QString &str)
{
   ui.labelSizeQueue->setText(str);
}
то объем постоянно увеличивается. А если такой
void LogServer::setSizeQueue(QString &str)
{}
то увеличение объема прекращается!
"Нет этой строки - нет утечки" еще не доказывает что эта строка является ее причиной/виновником  setText слишком популярен чтобы такая проблема оставалась незамеченной (даже в версии 1.0). Гораздо более вероятно что приходит испорченный str который не может быть корректно скопирован. Где и как он портится - никто не знает и без тестового проекта - не узнает никогда  Улыбающийся
 
11367  Qt / Общие вопросы / Re: как отловить сигнал закрытия дочерней формы в классе главной форме??? : Август 25, 2009, 13:38
У меня есть две формы унаследованные от QMainWindow. И одна вызывается из другой. Я хочу, чтобы при закрытии дочерней формы данные в главной форме обновлялись..только вот как отловить сигнал закрытия дочерней формы в классе главной форме???
Если обе от QMainWindow (т.е. пользователь может переключаться между ними) то еще много чего прийдется ловить. Например, пользователь может опять открыть дочернюю (а она уже открыта) и.т.п. "Обновить при закрытии" явный намек на то, что дочерняя форма должна быть модальной, т.е. от QDialog и вызываться exec(). Тогда и ловить ничего не надо и данные передать легко.
11368  Qt / Общие вопросы / Re: Как унаследовать QHash : Август 21, 2009, 18:55
Жирный шрифт в кодбоксе не проставился....Остальное думаю понятно.
Не поверишь, я вот тоже. по идее это инсёт моего класса (Веди он его унаследовал), тади интереса пытался ::insert (я так понимаю это вызов метода родителя в данном случае) но при этом ошибка компиляции.
Спасибо, теперь понял. Если надо разобраться с QHash - лучше создать что-то скромное (типа QHash<QString, int>) и с ним поэкспериментировать. А так - и IModule. и foreach, получается что не только "изучить" а сразу и задействовать по полной Улыбающийся Конечно, если сходу пройдет - отлично, но оно не обязано всегда проходить.
Кстати, что плохого в наследовании от контейнера, и почему это считается "дурным тоном"?
11369  Qt / Общие вопросы / Re: QObject и события childEvent : Август 21, 2009, 17:01
Почему не проще?

QMyObject::QMyObject(QObject *parent)
{
 setParent( parent );
 ...
}

Все базовые конструкторы вызовутся с parent = 0

Но я удивляюсь как перекрытый virtual работал из QObject? Ведь когда конструируется QObject, QMyObject еще не создан, его конструктор не вызван и его virtual вызываться не должен
11370  Программирование / С/C++ / Re: Почему не срабатывает блок try? : Август 21, 2009, 14:04
Вопрос решился таким образомм:

void term_handler(int i)
{
  printf ("Terminating\n");
  exit(EXIT_SUCCESS);
};

int main()
{
      struct sigaction sa;
      sigset_t newset;
      sigemptyset(&newset);
      sa.sa_handler = term_handler;
      sigaction(SIGSEGV, &sa, 0);

      A *a=0;
      a->b=5;
      a->Pokaz();
...   

Это будет работать и под Mac OSX. Но не на Вындоуз, так что говорить о кросс-платформенности не приходится
Страниц: 1 ... 756 757 [758] 759 760 761

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