crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику BRE ::: Спасибо сказали: 264 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
15.4.2010, 7:14 не отображаются виджеты
Попробуй так:
#include <QtGui>
#include "FindDialog.h"

FindDialog::FindDialog(QWidget *parent)
    :QDialog(parent)
{
    label = new QLabel(tr("Find &what:"));
    lineEdit = new QLineEdit;
    label->setBuddy(lineEdit);

    caseCheckBox = new QCheckBox(tr("Match &case"));
    backwardCheckBox = new QCheckBox(tr("Search backward"));

    findButton = new QPushButton(tr("&Find"));
    findButton->setDefault(true);
    findButton->setEnabled(false);

    closeButton = new QPushButton(tr("Close"));

    connect(lineEdit, SIGNAL(textChanged(const QString &)),
            this, SLOT(enableFindButton(const QString &)));
    connect(findButton, SIGNAL(clicked()),
            this, SLOT(findClicked()));
    connect(closeButton, SIGNAL(clicked()),
            this, SLOT(close()));

    QHBoxLayout *topLeftLayout = new QHBoxLayout;
    topLeftLayout->addWidget(label);
    topLeftLayout->addWidget(lineEdit);

    QVBoxLayout *leftLayout = new QVBoxLayout;
    leftLayout->addLayout(topLeftLayout);
    leftLayout->addWidget(caseCheckBox);
    leftLayout->addWidget(backwardCheckBox);

    QVBoxLayout *rightLayout = new QVBoxLayout;
    rightLayout->addWidget(findButton);
    rightLayout->addWidget(closeButton);
    rightLayout->addStretch();

    QHBoxLayout *mainLayout = new QHBoxLayout;
    mainLayout->addLayout(leftLayout);                            // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    mainLayout->addLayout(rightLayout);
    setLayout(mainLayout);

    setWindowTitle(tr("Find"));
    setFixedHeight(sizeHint().height());
}

Separator,
12.4.2010, 21:36 во что можно поместить картинку из файла?
Цитата(eldar85 @ 12.4.2010, 22:30) *
извиняюсь я не ту строку сначала написал, вот исправил))

отправляется на zalil.ru, это сайт для хранения информации))

Если я правильно понял, то достаточно QFile:
QFile img( "./image.png" );
if( !img.open( QIODevice::ReadOnly) )
    return;

QByteArray data = img.readAll();

// Вот твой указатель на данные. Учти что он будет валиден, пока будет жить data.
const char *buf = data.constData();
eldar85,
12.4.2010, 20:35 Передача данных от одной формы другой
Покажи, что у тебя в mainwindow.h и mainwindow.cpp.
PunX,
11.4.2010, 21:41 как записать QList в QFile
Цитата(eldar85 @ 11.4.2010, 22:34) *
ок, сейчас почитаю про это, спасибо))

сделал так
QFile file("1.txt");
file.open(QFile::WriteOnly | QFile::Truncape);
QTextStream strm(&file);
foreach (const QString& str, list) {
        strm << str;
}
file.close();

в первый раз все как нужно получается, но программа работает в цикле и при втором заходе уже просто начинает добавлять к содержимому...
или я не правельно сделал??

Вообще достаточно одного флага WriteOnly, при его указании Truncape добавляется автоматически.

А ты уверен, что дописывается к файлу? Может ты список list забываешь очищать после записи? ;)
eldar85,
9.4.2010, 22:18 как сделать так чтобы сохранение в текстовом файле при работе в цикле дописывало текс, а не перезаписывало его?
Посмотри на режим открытия файла:
QIODevice::Append

[offtop]Где то я сегодня отвечал на этот вопрос. :)[/offtop]
eldar85,
9.4.2010, 13:52 QGridLayout отжирает 200мб памяти
void MainWindow::setEtalonsButton()
{
    int k,l=0;
    ...
}

Что ожидается от этой конструкции?

Переменная k - не инициализированна. Может быть большое прибольшое число. ;)
Andrewshkovskii,
8.4.2010, 19:43 Передача данных от одной формы другой
А точно в файле ui_dialog_login.h класс называется login?
С учетом регистра и т.д.?
PunX,
31.3.2010, 8:03 Размышления о правильном программировании
Цитата(Iron Bug @ 30.3.2010, 20:56) *
есть у пользователя десять библиотек. в каждой - свои классы исключений, которые каждая функция кидает и надо отлавливать и разгребать это дерьмище. это просто капец, надо заметить!

К сказанному Tonal хочу добавить свои мысли по поводу зоопарка библиотек.
Для интеграции каждой библиотеки наверное лучше написать свои врапперы, которые будут иметь однотипный интерфейс, как по вызову их функционала, так и по сообщению результата своей работы.
Тогда возможно смена низкоуровневых библиотек без изменения кода основной системы. И даже не обязательно прятать весь функционал библиотеки, достаточно описать и предоставить только используемый.
AD,
22.3.2010, 8:44 Ищу ПО
Цитата(igor_bogomolov @ 22.3.2010, 0:19) *
Ищу хорошую программу для скринкаста с рабочего стола в Linux. Желательно с сохранением в gif формат Пробовал Xvidcap - своих функций он не выполняет.

Посмотри на recordmydesktop + к ней есть разные фронтэнды (например qt-recordmydesktop).
Сохраняет видео в ogv, а его можно конвертировать в gif, с помощью mplayer.
igor_bogomolov,
20.3.2010, 18:56 найти самое круглое число между двумя заданными
Все равно я не очень понял.
А напиши ряд круглых чисел:
10, 20, 50, ...
или как он должен выглядеть?

(121, 199) = 150
А (121, 202) = ? Чему должен быть равен?
mezmay,
19.3.2010, 16:55 Как настроить задержку для высплывающей подсказки?
Цитата(AntonH851 @ 19.3.2010, 16:40) *
вот это никак не пойму как сделать...

Насколько я помню, у QToolTip жестко заложено поведение (время появления, события исчезновения и т.д.).
Можно попробовать сделать свой ToolTip на основе QLabel.
Можно посмотреть исходники Qt: реализацию QToolTip. Там вроде все просто.

AntonH851,
15.3.2010, 21:09 Выпадающий виджет
Цитата(kibsoft @ 15.3.2010, 21:08) *
Я об этом думал, но как координаты рассчитать, чтобы под кнопкой появлялось?

QPoint QWidget::mapToGlobal ( const QPoint & pos ) const
kibsoft,
11.3.2010, 16:28 Наследование QComboBox
SqlComboBox::SqlComboBox(QWidget *parent)
    : QComboBox(parent)
{

}


AntonH851,
11.3.2010, 16:26 Qt и CMake flareguner,
8.3.2010, 22:46 Как запустить QThread чтобы он не вешал GUI?
Цитата(SABROG @ 8.3.2010, 22:42) *
Если речь о новом процессе, то какая разница?

Камрад flareguner запускает новый поток вызовом метода run, т.е. новый поток не создается вообще.


Цитата(flareguner @ 8.3.2010, 22:44) *
А разве не run()-ом я его запускаю в файле video_converter.cpp? :rolleyes:

run это тело потока, а для того что бы он запустился в отдельном потоке, нужно его запускать через start().
flareguner,
7.3.2010, 14:27 Границы QLabel
Посмотри на:
QRect QFontMetrics::boundingRect ( ... ) const
QRect QPainter::boundingRect ( ... )
breeve,
3.3.2010, 18:28 C++, конструктор копирования...
Цитата(Litkevich Yuriy @ 3.3.2010, 18:24) *
Для чего нужен, вобщем-то понятно. Создать копию объекта. Но возник вопрос, смогу ли я в нём получить доступ к приватным членам объекта other?

Конечно.
Litkevich Yuriy,
3.3.2010, 14:03 [РЕШЕНО] Один клик мышкой - два события clicked
А ты не два раза connect делаешь?
flankerr,
1.3.2010, 23:34 Всплывающие окна
Цитата(Litkevich Yuriy @ 1.3.2010, 22:34) *
можно сократить расходы на поиск:
QList<QDialog *> dialogs = this->findChildren<QDialog *>();
Т.е. искать сразу нужный класс. Получается быстрее

Ну так я про это же. :)
Указание имени так же повысит скорость:
QList<QDialog *> dialogs = this->findChildren<QDialog *>( "NameDialog" );
QList<MainDialog *> dialogs = this->findChildren<MainDialog *>();
QList<MainDialog *> dialogs = this->findChildren<MainDialog *>( "MainDialog" );
breeve,
1.3.2010, 22:08 Всплывающие окна
Цитата(breeve @ 1.3.2010, 21:17) *
А вот насчет найти диалог.. Как это? Глупый вопрос конечно..

А диалог это обычный виджет.
Если у него установлен parent, то можно воспользоваться функцией:
QList<T> QObject::findChildren ( const QString & name = QString() ) const

Если это диалоги верхнего уровня, то:
QWidgetList QApplication::topLevelWidgets () [static]
breeve,
1.3.2010, 21:02 Всплывающие окна
Цитата(Litkevich Yuriy @ 1.3.2010, 20:55) *
проверять её, если ИСТИНА, то найти диалог и вывести его на первый план, если ЛОЖНО, то создать и показать.

Наверное лучше сразу искать и выводить, а если не нашли - значит диалога нет и нужно его создать.

Тогда и флажки не понадобятся...
Цитата(Litkevich Yuriy @ 1.3.2010, 20:55) *
На закрытие окна (acept/reject) предусмотреть слот, который будет сбрасывать флажок

breeve,
1.3.2010, 18:37 Помогите перевести термины
Я иностранным языкам не очень обучен, поэтому как обывателю мне ближе следующие варианты: :)
shader programs
- программы с шейдерами
- шейдерные программы

bus service
- сервис канала
- служба шины

window decorations
- украшений окон
- декорации окна

Communication capabilities
- Возможность связи
- Возможности взаимодействия

underlying hardware
- аппаратная (часть)
- {ниже|под}лежащее оборудование

Easing curves
- Легкие кривые
- Упрощение кривых

Opacity effect
- Эффект непрозрачности
- Матовый эффект

pending call
- задержанный вызов
- вызов ожидающий обработку

anchor (between...)
- привязка (между...)
- якорь (между...)

transformation matrix
- матрица преобразований
- матрица преобразования

foo are bar
- foo является bar
- foo - bar
- foo - это bar
Litkevich Yuriy,
26.2.2010, 19:40 Кодировки, кодировки...
Цитата(Rocky @ 26.2.2010, 18:57) *
Т.е. изначально у файла win1251. Прогнал сохранил в utf-8. На этом моменте все ок.. Потом опять его беру и прогоняю в utf-8 - вместо русских комментов - чушь... ( Ощущение что это как-то связано с юникодом...

Есть файл in.txt в кодировке win1251. Ты его конвертируешь в UTF-8 и сохраняешь в файл out.txt.
После этого ты берешь файл out.txt и пытаешься его еще раз конвертировать из win1251 в UTF-8?
Rocky,
25.2.2010, 16:11 Ассемблерные вставки
По занудствую... ;)
Qt это библиотека, с ее помощью нельзя делать ассемблерные вставки.
Ассемблерные вставки можно делать в исходном текст программы и их вид зависит от компилятора, которым этот файл компилируется.
Litkevich Yuriy,
23.2.2010, 10:02 Проблема с установкой PATH в QProcess::setEnvironment
Цитата(Litkevich Yuriy @ 23.2.2010, 9:53) *
просто это менее гибко на мой взгляд, чем использование переменной окружения PATH

Почему, пользователь не задал в PATH путь до git, значит оно ему не надо. :)
Можно попробовать добавлять свой путь в окружение и запускать git через командный интерпретатор, как-то так:
process->start(QString("cmd.exe git status"));


Тогда установленное окружение будет доступно в cmd и он будет их использовать для запуска git, но возможны другие трудности, например, с пайпами.
Litkevich Yuriy,

11 страниц V  « < 3 4 5 6 7 > » 
RSS Текстовая версия Сейчас: 24.4.2024, 3:31