Спокойный пример использования для того же сигнала к 2 слотам на том же объекте?

Я - общий новичок к QT, Поскольку я читал документацию, я столкнулся с этой конфигурацией:

connect( Object1, Signal1, Object2, slot1 )
connect( Object1, Signal1, Object2, slot2 )

Каков мог возможно быть пример использования для этого?

Выглядит нечетным мне происходящий из среды Erlang/Python. Это должно иметь отношение к изгибам и поворотам наследования C++, которые я предполагаю.

5
задан jldupont 8 January 2010 в 14:56
поделиться

3 ответа

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

Скажем, нажатие кнопки воспроизведения/паузы делает кнопку остановки активной или активной, а также изменяет наконечник инструмента. Это можно легко сделать с одним слотом, но вы можете захотеть сделать их самостоятельно в другой раз. Для содействия повторному использованию, вы используете описанный выше способ подключения одного сигнала к 2 слотам.

4
ответ дан 14 December 2019 в 08:52
поделиться

Это позволило бы другим объектам вызвать слот и слот2 и слот2.

connect( Object1, Signal1, Object2, slot1 );
connect( Object1, Signal1, Object2, slot2 );
connect( Object3, Signal1, Object2, slot1 );
connect( Object4, Signal1, Object2, slot2 );
3
ответ дан 14 December 2019 в 08:52
поделиться

Обычно я не отвечаю на вопросы java, так как не являюсь разработчиком java, но это кажется архитектурным недостатком, если нужно создать объект sql из кода для передачи в метод, чтобы повторно использовать метод. Я думаю, что вы хотите, чтобы ваш метод получения принял какую-то другую более конкретную форму ввода (такую как пользовательский определенный массив объектов), чтобы сделать его повторно используемым, а затем проанализировать ResultData в этом формате.

-121--1390554-

Ответ Aussie верен, но обычно более короткий метод заключается только в том, чтобы обратить рассматриваемую одиночную ось:

plt.scatter(x_arr, y_arr)
ax = plt.gca()
ax.set_ylim(ax.get_ylim()[::-1])

, где функция gca () возвращает текущий экземпляр Axes, а [: -1] изменяет список на противоположный.

-121--59951-

Это действительно мощный способ сделать MVC... Допустим, вы хотите «соединить» представления, чтобы прослушать объект, чем выдать данные...

Вы можете подключить представление PieChart с помощью:

connect( MySourceModel, SIGNAL(newDataAreThere()), PieChartView, SLOT(notifyNewDataReceived()));

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

connect( MySourceModel, SIGNAL(newDataAreThere()), AnotherView, SLOT(notifyNewDataReceived()));

Вы можете подключить/отключить свои взгляды, и модель даже не знает, кто его слушает... Это не его проблема...

Надеюсь, мой маленький пример понятен;)

0
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: