LINUX.ORG.RU

Сообщения GSA

 

Собственный командный интерпретатор

Форум — Development

В программе нужно реализовать собственный командный интерпретатор (как в GNU ftp). Посмотрел маны по readline и argp. Непонятно вот что: readline выдает строку (char *), которую ввел пользовать, а argp принимает (int argc, char **argv). Вопрос в том, есть ли библиотека для парсинга строки в аргументы.

 

GSA
()

Как задать цвет части текста в ячейке таблицы?

Форум — Development

Такая конструкция не работает

item = new QTableWidgetItem("text1 <font color=red> text2 </font>");
tableWidget -> setItem(rowCount, 0, item);

Текст в ячейке таблицы такой «text1 <font color=red> text2 </font>»

 

GSA
()

Проблема с timestamp в proftpd

Форум — Admin

Проблема вот в чем:

кидаем на удаленный ftp-сервер файл и у него меняется время изменения на текущее, а мне нужно его сохранить (время).

p.s. google читал, TimesGMT off не помогло.

 

GSA
()

QIcon::fromTheme() в windows

Форум — Development

Как в Qt программе под windows взять иконку из стандартного места? Что бы также просто, как в Linux

QIcon::fromTheme("document-open")
и не тащить вместе с программой вагон иконок.

Понимаю, что вопрос нубский, но чтение документации и гугла непомогло.

 ,

GSA
()

busybox: can't access tty; job control turned off

Форум — Linux-hardware

Eсть плата с ARM, linux и initrd c busybox-1.21.0, на ней 2 последовательных интерфейса:

  • ttyS2 через него осуществляется вся работа;
  • ttyS3 сделан на ПЛИС с собственным драйвером.

Задача сделать упраляющий терминал на ttyS3, для этого запускаю:

# agetty 115200 ttyS3

На ttyS3 появляется приглашение ввода логина, логинюсь, появление приглашение sh, дальше терминал не работает. Но, если послать ^C на ttyS2, терминал ttyS3 начинает работать. Однако ^C, ^Z и др. работают через ttyS2.

Если убрать из inittab строку
S2:2345:respawn:/sbin/getty 115200 ttyS2
и запусть agetty, будет тот же результат, но перед приглашение sh на ttyS3 будет сообщение:

-sh: can't access tty; job control turned off

Как включить job control? Или все из-за кривого драйвера?

busybox FAQ читал, не заработало.

 , ,

GSA
()

Создание gzip архива

Форум — Development

Помогите осилить libarchive. Нужно сжать один файл с помощью gzip, но заработал пример который создает .tar.gz.

char *inputData;
int InputDataSize;
struct archive *a = archive_write_new();
struct archive_entry *entry = archive_entry_new();

archive_write_add_filter_gzip(a);
archive_write_set_format(a,ARCHIVE_FORMAT_TAR);
archive_write_open_filename(a, "file.gz");

archive_entry_set_pathname(entry, "file");
archive_entry_set_size(entry, inputDataSize);
archive_entry_set_filetype(entry, AE_IFREG);
archive_entry_set_perm(entry, 0644);

archive_write_header(a, entry);
archive_write_data(a, inputData, inputDataSize);

archive_entry_free(entry);
archive_write_close(a);
archive_write_free(a);

Я думаю, что нужно указать необходимый формат фукцией archive_write_set_format(). В archive.h определены разные ARHIVE_FORMAT, но я не пойму, какой из них нужно указать.

 

GSA
()

Закрытие QDialog

Форум — Development

Подскажите, какой сигнал излучается при закрытии окна QDialog? В документации упоминаются сигналы accepted(), finished(int) и rejected(), но они вызывются только при удалении объекта.

 

GSA
()

Использование QToolBox

Форум — Development

Здравствуйте, хотелось бы в Qt-приложении сделать несколько панелей инструментов с возможностью их перетаскивать и запоминать их положение при закрытии программы (примерно, как в LibreOffice и др.)

Сейчас конструкторе MainWindow сделано так:

addToolBar(toolbar1);
addToolBarBreak();
addToolBar(toolba2);
addToolBarBreak();
...

таким образом, тулбары отображаются в отдельных строках, но их можно перетаскивать. При закрытии сохраняю только параметр visible (через механизм QSettings). Как запомнить их положение?

 , , qtoolbox

GSA
()

Проблемы с кросскомпиляцией Qt приложения

Форум — Development

Делал по инструкции http://habrahabr.ru/post/98131/

Объектные файлы компилируются без ошибок, однако, линковщик выдает такую ошибку:

i486-mingw32-g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mwindows -Wl,-s -Wl,-subsystem,windows -o calc.exe calc.o main.o moc_calc.o  -L'./lib' -L'/home/gsa/.wine/drive_c/QtSDK/Desktop/Qt/4.8.1/mingw/lib' -lmingw32 -lqtmain -lQtGui4 -lQtCore4 
/usr/lib/gcc/i486-mingw32/4.7.0/../../../../i486-mingw32/bin/ld: warning: cannot find entry symbol nable-stdcall-fixup; defaulting to 0000000000401000
/home/gsa/.wine/drive_c/QtSDK/Desktop/Qt/4.8.1/mingw/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x1c2): undefined reference to `__Unwind_Resume'
/home/gsa/.wine/drive_c/QtSDK/Desktop/Qt/4.8.1/mingw/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text$_ZN7QVectorIPcE7reallocEii[QVector<char*>::realloc(int, int)]+0x187): undefined reference to `__Unwind_Resume'
/home/gsa/.wine/drive_c/QtSDK/Desktop/Qt/4.8.1/mingw/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.eh_frame+0x12): undefined reference to `___gxx_personality_v0'
collect2: error: ld returned 1 exit status
make: *** [calc.exe] Ошибка 1
Qt для винды качал с qt-project.org, но в папке QtSDK/Desktop/Qt/4.8.1/mingw/lib/ лежат только статические либы. Так и должно быть?

 , ,

GSA
()

nvidia legacy и X.org

Форум — Linux-hardware

Кто знает, как сейчас обстоят дела с совместимостью новых иксов и старых видеокарт от nvidia? Интересует, как будет работать MX440 в Archlinux.

 ,

GSA
()

[Qt,QThread] не работает connect

Форум — Development

Есть программа на Qt, реализующая работу с последовательным портом (через библиотеку QSerialPort). Вся работа с портом вынесена в отдельный поток. Суть проблемы: в дочернем потоке в функции run() испускается сигнал, который присоединен к слоту в родительском потоке. В итоге слот не срабатывает.

Родительский поток:

class MainWindow: public QMainWindow {
Q_OBJECT
public:
  MainWindow::MainWindow() {
    thread = new MyThread();
    connect(thread,SIGNAL(datareaded()),this,SLOT(datareaded()));
  }
public slots:
  void datareaded() {
    std::cout << "slot" << std::endl;
  }
private:
  class MyThread *thread;
};

Поток работы с портом:

class MyThread : public QThread {
Q_OBJECT
public:
  MyThread() {}
signals:
  void datareaded();
protected:
  void run() {
    while(1) {
      std::cout << "signal" << std::endl;
      emit datareaded();
    }
  }
};

В итоге выводяться только «signal». Почему? Помогите, пожалуйста.

GSA
()

Работа с COM-портом

Форум — Development

Есть некоторое устройство, подключаемое к COM-порту. Это устройство шлёт данные, которые я должен считать. С этим проблем нет. Также это устройство иногда дёргает провод DCD. Задача: необходимо различать принятые данные по тому, пришли они вместе с DCD или без него.

С этим начались проблемы, DCD может изменяться с периодом 12 мс или реже, опрос его состояния в цикле с помощью ioctl не успевает. Заранее известно, что если DCD поднят, то придет ровно 24 байта, если опущен, то данные могут (но не обязательно) придти в виде короткой посылки длинной в несколько байт.

Может кто-нибудь знает, как обработать прерывание по изменению DCD или какой нибудь другой способ или литературу.

GSA
()

RSS подписка на новые темы