crossplatform.ru

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

История благодарностей участнику BRE ::: Спасибо сказали: 264 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
27.3.2012, 17:01 2 виджета в компоновщике
Цитата(RazrFalcon @ 27.3.2012, 16:36) *
Если вы про Disigner - то там вроде нельзя.

Можно. Нужно выбрать виджеты и нажать скомпоновать с разделителем.
RazrFalcon,
6.3.2012, 8:09 QLineEdit и "умный" QValidator
У !LineEdit есть возможность установить маску, смотри на setInputMask. Возможно получиться это сделать с помощью маски.
RazrFalcon,
27.2.2012, 20:52 QTimer не срабатывает слот
Цитата(Steklova Olga @ 27.2.2012, 19:36) *
Алексей1153, а в Qt нет чего-нибудь типа дельфийского Application.ProcessMessages ?

Ну если я правильно понимаю, что делает Application.ProcessMessages в делфи, то в Qt есть несколько штатных средств для обработки скопившихся сообщений в очереди:
QCoreApplication::processEvents(...)
и
QEventLoop::processEvents(...)

Steklova Olga,
26.2.2012, 19:16 ошибки при сборке
Почитать документацию и добавить к себе в pro-файл:
CONFIG += qaxcontainer
ArhiZhek,
10.2.2012, 20:03 QT интерфейс, ООП
Цитата(Гость_=DENIS=_* @ 10.2.2012, 20:48) *
Так почему же в офф документации так пишут, для наглядности?

Это примеры, показывающие функционал Qt, а не то как правильно писать программы с использованием Qt.

Цитата(Гость_=DENIS=_* @ 10.2.2012, 20:48) *
И такой вопрос, как в QtDesignet назначить для основной формы основной мнеджер компановки, назначаемый функцией setLayout(QLayout *l); Что-то не нашел такого.

Выбираешь саму форму и выбираешь тип компановки в меню "Форма".

Цитата(Гость_=DENIS=_* @ 10.2.2012, 20:51) *
И как мне тогда лучше поступать, делать в С++ что-то подобное на интерфейсы в Java или передавать указатели на функции в интерфейс, чтобы эти функции выполнялись по нажатию кнопки?

В тех классах, объекты которых будут взаимодействовать с GUI, определять слоты и соединять сигналы от кнопок со слотами этих объектов-обработчиков.
=DENIS=,
10.2.2012, 18:34 Ошибка открытия файла
Файл из ресурсов? Открываешь на запись? :)
ruzik,
10.2.2012, 13:47 Частое обновление ItemModel ssoft,
28.1.2012, 22:52 BASS, Qt и CALLBACK функция
Можно так, а можно используя указатель и длину создать QByteArray, ну и дальше... хочешь через write, хочешь через QDataStream.
urandom,
28.1.2012, 14:41 BASS, Qt и CALLBACK функция
class MyClass
{
public:

    void setCallback( const QUrlg &url )
    {
        BASS_StreamCreateURL( url.toAscii(), 0, 0, &downproc, this );
    }

protected:
    static void CALLBACK downproc(const void *buffer, DWORD length, void *user)
    {
        Q_ASSERT( user );
        MyClass *ptr = static_cast<MyClass*>( user );
        // ptr указывает на объект класса
    }
};

urandom,
9.1.2012, 16:06 Crash из за QEventLoop::exec()
Не нужно указвать parent для объектов создаваемых на стеке.
void MainWindow::slotTest()
{
    Looper r;
    r.execloop();
    qDebug() << "done";
}


Как правило это не вызывет проблем, т.к. объект созданный на стеке в своем деструкторе выпишится из списка своего parent'а. А в данном случае, из-за атрибута Qt::WA_DeleteOnClose, деструктор MainWindow пытался освободить объект созданный на стеке.
512es,
23.12.2011, 10:56 копирование и память
Цитата(rp80 @ 23.12.2011, 11:39) *
Т.е. скопировался как надо только указатель на динамически выделенную память.

Кому надо? Компилятор сделал то что ты ему сказал.
Сделал бинарную копию a2 равную a1 (потеряв при этом указатель на область памяти pi - утечка).
Указатель a2.str как показывал "в никуда", так и показывает - отсюда вылет программы.
Все ожидаемо.


Цитата(rp80 @ 23.12.2011, 11:47) *
И если мы потом поменяем значение по одному указателю, должно поменяться и второе

Так и есть. Там где ты меняешь что-то по указателю, там и меняется (a1.pi[ 0 ] и a2.pi[ 0 ] ).
rp80,
16.12.2011, 18:23 QWidget показ окна
Это ты диалоги так всегда вызывал, в QDialog этот метод остался.
А окно у тебя сразу закрывается потому, что ты его создаешь на стеке, а как известно все автоматические переменные разрушаются при выходе из их зоны видимости. Нужно просто создавать этот объект в куче (через new) и все будет показываться.
Никто убрать exec сейчас не может, до Qt5 по крайней мере. :)
Vova,
16.12.2011, 15:21 БД, ошибочка, раньше всё работало
Нужно подключать модуль SQL в pro-файле:
QT += sql
Vova,
4.12.2011, 18:56 Перевести адрес файла в стандартный вид
QString QDir::fromNativeSeparators ( const QString & pathName ) [static]
QString QDir::toNativeSeparators ( const QString & pathName ) [static]
ruzik,
30.11.2011, 11:01 Сокращенная форма записи полного имени файла
QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width, int flags = 0 ) const
RazrFalcon,
18.11.2011, 10:56 Мьютексы
Цитата(Iron Bug @ 18.11.2011, 11:45) *
просто юзер не может напрямую юзать аппаратные средства. доступ к некоторым реализован через системные интерфейсы и юзерские API. поэтому для программиста верхнего (по сравнению с системным) уровня аппаратных средств, как таковых, не существует. есть только системные.

Если выбросить ОС, то системных средств у программиста не останется, а аппаратные будут все еще доступны. :)
С помощью ассемблера программист верхнего уровня может получить доступ к определенным аппаратным средствам. Сделать все те же атомарные операции.
AD,
15.11.2011, 21:31 Проблемы с путями
Потому что не хватает плагинов для чтения графических файлов. Поищи по форуму на тему imageformats или почитай про плагины в документации.
slav,
15.11.2011, 19:31 Ресурсозатратность операции show()
Совершенно не затратно.
Вначале метода setVisible есть проверка, если виджет, который хотят показать уже виден, то сразу выйти из метода.
RazrFalcon,
13.11.2011, 17:36 qrand + qthread
reinterpret_cast<quint64>( this );
reinterpret_cast<quint64>( currentThread() );
thechicho,
13.11.2011, 17:11 qrand + qthread
Цитата(thechicho @ 13.11.2011, 18:00) *
сейчас так. если в 1 потоке, то все отлично работает. но мне нужно в каждом потоке получить свое униальное значение. подскажите как можно этого добиться?

Добавь уникальность для каждой нитки, например, к значению времени прибавляй/отнимай/умножай/хорь/... значение this объекта-потока.
thechicho,
10.11.2011, 10:26 Потоконезависимые очереди
Не нужно ждать условную переменную. Она нужна в рабочих потоках, что бы усыпить поток на время когда нет работы.
bool ReqQueue::isEmpty()
{
    QMutexLocker locker(&_mtx);
    return _req_list.isEmpty();
}

/// Pазмер очередu
int ReqQueue::size()
{
    QMutexLocker locker(&_mtx);
    return _req_list.size();
}

AD,
9.11.2011, 17:45 Потоконезависимые очереди
Не нужны там семафоры (для другого они заточены), ну да ладно. :)
И в первом и во втором случае нужно блокировать доступ к QList.
AD,
7.11.2011, 14:15 QObject в QThread
Цитата(urandom @ 7.11.2011, 15:08) *
Но как тогда удалять объект? deleteLater() ?

Если смотреть на последний вариант, то никак. Он сам разрушиться при выходе из run.
urandom,
7.11.2011, 13:58 QObject в QThread
Цитата(ssoft @ 7.11.2011, 14:52) *
Правильно так

Ну тогда я бы добавил wait. Перед разрушением стоит дождаться реального завершения нитки.

MyThread::~MyThread()
{
    quit();
        wait();
}
urandom,
7.11.2011, 13:50 Потоконезависимые очереди
На соседнем форуме обсуждали. Одна из тем: http://www.prog.org.ru/index.php?topic=144...g95463#msg95463
AD,

11 страниц V   1 2 3 > » 
RSS Текстовая версия Сейчас: 20.10.2019, 11:43