Узнать сетевой интерфейс через который произойдет обращение к хосту
Есть ли утилита для сабжа? Что-нибудь типа
$ routeface 10.10.1.2
eth1
Есть ли утилита для сабжа? Что-нибудь типа
$ routeface 10.10.1.2
eth1
Нужен виджет, в котором будет отображаться текст. Но этот текст составлен из частей, которые за сценой являются отдельными объектами. При клике на любом месте в тексте мы можем определить на каком объекте произошел клик и, например, подсветить бэкграунд всего текста относящегося к этому объекту.
Какой из встроенных виджетов лучше подойдет для реализациии или может есть нечто готовое?
Даны два сокета. Можно ли отличить сокет полученный в результате вызова accept() от сокета на котором был вызван connect()? Как это сделать?
У кого-нибудь получалось подружить тестовый фреймворк Qt с utf-8?
В main примерно так:
int main(int argc, char **argv)
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
DataTest tst;
return QTest::qExec(&tst, argc, argv);
}
В тесте (исходник utf-8)
QCOMPARE("мама", "папа");
В результате теста в консоли вместо русских символов вопросики
Actual ("????????"): ????????
Expected ("????????"): ????????
Ситуация следующая:
Есть функция qStableSort(iterator, iterator, callback). Она из Qt, если это важно. Третьим параметром идёт имя функции-компаратора. Передать в эту функцию какой-то дополнительный аргумент возможности не предусмотрено. А отсортировать нужно двумерный массив, сначала по первой колонке, потом по второй и т.д. Таким образом для каждой колонки придётся делать свой callback, а меняется всего лишь номер колонки. Либо заводить глобальную переменную, что тоже плохо.
Есть ли какая другая возможность передать переменную в callback, может можно организовать нечто на подобии замыкания?
Что-то туплю...
Как из «\xe2\x98\xba» получается U+263A?
Говоря иначе, как преобразовать коды символов составляющие utf-8 символ в натацию U+hex?
Есть SVN репозиторий на моём сервере. Хочу его перекинуть на svn хостинг, хостинг доступа по ssh не даёт. Соответственно никаких svnadmin нельзя запустить, доступ только через саму svn. Какой есть способ скопировать репозиторий со всей историей на такой хостинг?
Валиден ли такой синтаксис для присваивания строк?
char *str;
str = "first";
str = "second";
Или рано или поздно это обернется ошибкой сегментирования?
Вспоминается, что в книжках писали, что для строк нужно выделять память с помощью malloc. С malloc всё понятно. Самостоятельно выделил, самостоятельно освободил. А что происходит здесь? Компилятор сам выделяет память? А когда str присваивается «second» память занятая «first» освобождается? Откуда выделяется память, из стека или кучи?
Есть ли способ на десктопе cделать subj? На ноуте это работает из коробки, на десктопе нет.
Колонки подлючены на задней панеле, наушники подкючаются на передней. Звук работает через alsa. В alsamixer есть headphones, но speakers отсутствуют. Если на headphones нажать «m», то они как и полагается замолкают, отдельно заглушить колонки через alsamixer не выходит, только весь звук вообще.
Звук встроенный. Так проверяется какой?
lspci | grep -i audio
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
Хм, почему две штуки?
Какой самый простой способ в Си скомпоновать строку чтобы 32-битный беззнаковый int там был не числом, а бинарной строкой?
uint32_t в моём случае получается из функции inet_aton:
struct in_addr addr;
inet_aton("10.0.0.1", &addr);
char buf[10];
sprintf(buf, "abcde%s", addr.s_addr); // Так конечно не работает
61 62 63 64 65 0A 00 00 01
Как после форка сделать загрузку разделяемой библиотеки, чтобы после выполнения exec() процесс мог использовать эту библиотеку?
Наподобии того как это делается в shell: LD_PRELOAD=mylib.so ./a.out
Использовать shell в exec не хочется.
child = fork();
if (child == 0) {
// Здесь нужно подгрузить mylib.so
// Как?
execl("./a.out", "arg1", "arg2");
exit(0);
}
Написал я вопрос в список рассылки одного opensource проекта. На него пока никто не ответил. Возникает вопрос: как отправить новое сообщение чтобы оно попало в туже нить дискуссии?
http://pastebin.com/ATXNEn1v
Суть многострочника в следующем:
Логинится под указанным uin
Отвечает написавшим чтобы писали в другое место
Также можно указать блеклист, это те кому не хочется сообщать новые контакты. Им будет особое сообщение, типа «иди в жопу»
Если кто-то напишет в течение дня, то ровно в полночь на указанный емейл высылается сформированный лог кто что и во сколько писал за день
Закинул в облако сегодня и запустил демоном (-d). Пусть повисит с полгодика, глядишь contact list в жаббере расширится.
Кто еще не завязал присоединяйтесь.
Посоветуйте простой видеоредактор, с помощью которого можно вырезать рекламу из видео. Желательно без всякой перекодировки.
Помню как-то раньше использовал для этого avidemux, но с сегодняшним видео (это богомерзкий flv H264, полученный из потокового вещания) avidemux отказался работать, сообщив assert: 0 и еще чего-то там и закрывшись.
subj
При попытке воспроизвести видео
mplayer -vo xv video.avi
плеер сообщает
[VO_XV] It seems there is no Xvideo support for your video card available.
[VO_XV] Run 'xvinfo' to verify its Xv support and read
xvinfo выводит
X-Video Extension version 2.2
screen #0
no adaptors present
Debian Squeeze. Так что в самом деле nouveau не умеет xv с такой видеокартой?
Можно ли печатать escape последовательности так как они выводяться в консоль?
Следующая команда на бумаге печатает «4mHello0m» вместо подчёркнутого «Hello»
echo -e «\e[4mHello\e[0m» | lpr
Не могу разобраться с упаковкой виджетов в менеджеры расположения.
Что хочется: http://bit.ly/eK3vhQ
Что получается: http://bit.ly/eSrULS
Проще говоря хочется, чтобы виджеты вертикально были рядом, а не растаскивались по всему окну.
MainWindow->resize(467, 293);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
verticalLayout = new QVBoxLayout(centralwidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
lineEdit = new QLineEdit(centralwidget);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
verticalLayout->addWidget(lineEdit);
pushButton = new QPushButton(centralwidget);
pushButton->setObjectName(QString::fromUtf8("pushButton"));
QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(pushButton->sizePolicy().hasHeightForWidth());
pushButton->setSizePolicy(sizePolicy);
verticalLayout->addWidget(pushButton);
Или в виде ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>467</width>
<height>293</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>
В какую сторону копать? И еще можете посоветовать годных статей про виджетостроение в Qt.
tsocks - программа, позволяющая пускать сетевые приложения через socks прокси.
Хотелось бы узнать как работают такого рода программы. Перехват открытия сетевого соединения или что-то другое? Поясните вкратце пожалуйста.
Не знаю, специфична ли эта вещь для всего Python или только для PyQt, но у меня проявилось при использовании PyQt.
def createimg():
pixels = '...' # пиксели в строковой переменной
return QtGui.QImage(pixels, 158, 54, QtGui.QImage.Format_RGB32)
Таким образом из функции возвращается объект QImage, но pixels в нём уже нет. Проверяется путем сохранения картинки методом save(). Сохраняется рябь вместо изображения.
Как понимаю, здесь в функции в конструктор QImage передаётся указатель на строку pixels, соответственно, когда при возврате происходит выход из функции переменная pixels удаляется, указатель становится невалидным и проявляется наблюдаемый эффект.
Решается таким костылём:
def createimg():
pixels = '...' # пиксели в строковой переменной
return QtGui.QImage(pixels, 158, 54, QtGui.QImage.Format_RGB32), pixels
Т.е. вместе с объектом возвращаем и источник пикселей, чтобы он не удалился. Есть ли способы прямее?
import struct;
s = "\x04\x9E\x00\x00\x00\x36\x00\x00\x00";
print struct.unpack('cLL', s);
Ошибка:
struct.error: unpack requires a string argument of length 24
Зачем ему нужно 24 символа? Если c - 1 байт, L - 4 байта. Итого 9 байт. Ровно столько и содержит символов строка s.
В тоже время на православном Perl всё работает.
use Data::Dumper;
$str = "\x04\x9E\x00\x00\x00\x36\x00\x00\x00";
print Dumper(unpack('cLL', $str));
Что я сделал неправильно?
← предыдущие | следующие → |