Теперь, когда прошло больше времени, вот как это сделать в Java 8:
URLConnection conn = url.openConnection();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8))) {
pageText = reader.lines().collect(Collectors.joining("\n"));
}
К сожалению, это не возможно в Qt4.
В Qt3 Вы могли создать пользовательские слоты который, где тогда реализовано в ui.h файле. Однако Qt4 не использует этот файл, таким образом, пользовательские слоты не поддерживаются.
существует некоторое обсуждение этой проблемы, законченной на QtForum
Это не представляется возможным простым способом.
Дизайнер позволяет рекламировать только существующие виджеты в свои собственные виджеты. тем не менее, он не позволяет подключать сигналы и слоты класса продвигаемых виджетов.
Способ, которым это возможно, заключается в создании плагина для дизайнера, как описано здесь и на последующих страницах.
Обычный порядок действий - продвигать виджет в своем классе, а затем подключать его вручную в своем собственном коде. этот процесс описан здесь
Не возможно сделать это, потому что это означает добавление слота к существующему спокойному классу как QPushButton
, который не является действительно способом пойти.
необходимо создать собственное QWidget
в конечном счете путем разделения на подклассы существующего. Тогда интегрируя его в спокойного Разработчика как плагин, как предложено. Наличие Вашего собственного класса позволяет Вам add/modifiy сигналы/слоты, доступные, как Вы хотите.
Можно использовать волшебный формат слота
void on_objectName_signal() {
// slot code here, where objectname is the Qt Designer object name
// and the signal is the emission
}
, соединение с этим методом устанавливается методом connectSlotsByName и каждый раз, когда сигнал испускается, этот слот вызывается.
Не забывайте о функциях автосоединения слота. Существует несколько недостатков, как необходимость переименовать Вашу функцию, если Вы переименовываете свой виджет, но мы используем тех много в моей компании.
Кажется, это возможно в версии Qt Designer 4.5.2, но это невозможно сделать из док-виджета Редактора сигналов / слотов в главном окне.
Это то, что у меня сработало