Мааленькая программа на Qt (help help help)

Модератор: Модераторы разделов

Аватара пользователя
Liksys
Сообщения: 2910

Мааленькая программа на Qt

Сообщение Liksys »

Если кому не лень, помогите пожалуйста.
Надо написать программу (срочно), которая выводит на экран содержимое указанного файла. То есть запускаешь ее в консоли (proga "filename"), а она выдает его в окошке просмотра текста (и чтоб его можно было прокручивать) Под окошком должна быть кнопка выхода. Пробовал написать сам, но не получилось: С++ я плохо знаю.
ЗЫ: Кому не в лом, напишите плиз. :unsure:
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Мааленькая программа на Qt

Сообщение v04bvs »

Код: Выделить всё

#include <QApplication>
#include <QTextBrowser>
#include <QFile>

int main( int argc, char *argv[] )
{
    QApplication app(argc, argv);

    if( argc != 2 )
        throw "Incorrect usage";

    QFile file(argv[1]);
    if( !file.open(QIODevice::ReadOnly | QIODevice::Text) )
        throw "Couldn't open file";

    QTextBrowser browser;
    browser.setPlainText(file.readAll());
    browser.setReadOnly(true);

    browser.show();

    return app.exec();
}

Кнопку выхода сами добавьте.
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Мааленькая программа на Qt

Сообщение sdk »

v04bvs, супер!
Токмо у него может не быть еще Qt4 :).
И почему 'throw'? На хрена abort-ить прогу?
Может просто:
qDebug("Usage:....");
return 1;
?

Хотя автору, виднее, канешна ;).
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Мааленькая программа на Qt

Сообщение Liksys »

Спасибо большое! :rolleyes:
Только у меня Qt 3, а в ней прога не компилится. Если на Qt 3, то как писать?
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Мааленькая программа на Qt

Сообщение sdk »

Вот так:

Код: Выделить всё

#include <qapplication.h>
#include <qtextbrowser.h>
#include <qfile.h>

int main( int argc, char *argv[] )
{
    QApplication app(argc, argv);

    if( argc != 2 )
        throw "Incorrect usage";

    QFile file(argv[1]);
    if( !file.open(IO_ReadOnly) )
        throw "Couldn't open file";

    QTextBrowser browser;
    browser.setText(file.readAll());

    browser.show();
    app.setMainWidget(&browser)

    return app.exec();
}


Не компилировал, так что может где чего не учел :).
Можешь обессудить, если захочешь :D.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Мааленькая программа на Qt

Сообщение Liksys »

Спасибо :rolleyes: :rolleyes: :rolleyes:
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Мааленькая программа на Qt

Сообщение v04bvs »

sdk писал(а):
02.06.2006 20:48
И почему 'throw'? На хрена abort-ить прогу?
Может просто:
qDebug("Usage:....");
return 1;
?

Мне лень было скобки писать с exit-ами. Правильнее конечно материться в cerr =)
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Мааленькая программа на Qt

Сообщение sdk »

v04bvs:
Типа такого:

Код: Выделить всё

qDebug("What the fuck? Where's the needed parameter?! Give it to me motherfucker!");
qDebug("Hint: I won't object at all if that parameter will be a filename;)");
return 666;


Кхм. Понесло меня чего-то :D.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Мааленькая программа на Qt

Сообщение v04bvs »

sdk писал(а):
02.06.2006 23:22
v04bvs:
Типа такого:

Код: Выделить всё

qDebug("What the fuck? Where's the needed parameter?! Give it to me motherfucker!");
qDebug("Hint: I won't object at all if that parameter will be a filename;)");
return 666;


Кхм. Понесло меня чего-то :D.

Ну qDebug всё же использовать нехорошо для таких целей, он ведь в release сборке отключается.
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: Мааленькая программа на Qt

Сообщение sdk »

А вот не скажи.
Это в Qt4 они это подправили.

А в Qt3 qDebug(), qWarning() итд работают всегда.
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали: