Russian Qt Forum
Сентябрь 24, 2024, 00:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Первые шаги в Qt - не могу установить слот  (Прочитано 6985 раз)
aviabunin
Гость
« : Июль 27, 2011, 10:02 »

На форме textEdit и pushButton. Хочу по нажатию на кнопку установить другой текст.
Есть mail.cpp и tree.cpp.
В tree.h
Код:
#ifndef THREE_H
#define THREE_H

#include <QMainWindow>

namespace Ui {
    class three;
}

class three : public QMainWindow
{
    Q_OBJECT

public:
    explicit three(QWidget *parent = 0);
    ~three();

private:
    Ui::three *ui;

public slots:
    void set_text();

};
T.e. хочу здесь установить объявление слота - set_text и затем его соединить с сигналом clicked()  у кнопки.

В three.cpp записан текст слота:

Код:
#include "three.h"
#include "ui_three.h"

three::three(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::three)
{
    ui->setupUi(this);
//    connect(three->ui->textEdit,clicked(),three,three->set_text)
}


three::~three()
{
    delete ui;
}
void three::set_text(){
    ui->textEdit->setText("Здравствуй мир!!!");
}
Но при попытке установить связь между сигналом и слотом в QtDesigner - вижу в только стандартные слоты three, а добавленного set_text - нет.
В чем может быть дело?
Спасибо за любую ссылку или совет!

Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июль 27, 2011, 10:19 »

А их и не будет. Коннектишь в коде:
connect(ui->button ,SIGNAL (clicked()), this, SLOT (set_text ()));
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ddrtn
Гость
« Ответ #2 : Июль 27, 2011, 10:25 »

В дезайнере в контекстном меню по имени объекта есть пункт "Изменить сигналы и слоты"
Записан
aviabunin
Гость
« Ответ #3 : Июль 27, 2011, 20:50 »

Пантер - Спасибо!
ddrtn - у меня QT Creator 2.2.1 - контекстного меню не нашел.
Есть элемент панели инструментов - Изменить сигналы и слоты.
Но в нем как раз слоты из программного кода не появляются ...
Записан
ddrtn
Гость
« Ответ #4 : Июль 28, 2011, 07:35 »

ddrtn - у меня QT Creator 2.2.1 - контекстного меню не нашел.
Есть элемент панели инструментов - Изменить сигналы и слоты.
Но в нем как раз слоты из программного кода не появляются ...


Справа в инспекторе объектов.
Записан
aviabunin
Гость
« Ответ #5 : Июль 28, 2011, 09:44 »

Справа есть перечень объектов, но по правой кнопке во всплывающем меню нет - перейти на редактирование signals/slots. Туда можно перейти  через панель инстументов. Но и в этом случае - на появляющемся окне можно добавлять связь сигнал - слот только для стандартных сигналов и слотов элементов. Те, что добавляются программно и добавляются программно, если я правильно понял.  Я просто добавил строку connect...

Не могу догадаться как вставить изображение в это сообщение.  Если с помощью иконки добавить теги  то как между ними вставить изображение - copy/paste не получается?
 
P.s. попутно вопрос - Qt assistant ставится отдельно от qt sdk?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Июль 28, 2011, 09:49 »

P.s. попутно вопрос - Qt assistant ставится отдельно от qt sdk?
Нет, он входит в состав SDK.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
aviabunin
Гость
« Ответ #7 : Июль 28, 2011, 10:02 »

1. Понял как отображается вложение - это и нужно было. Все таки теги img - что позволяют сделать?
2. Справка == Qt assistant? Если да - то как ее сделать на русском - вроде в qt assistant была такая возможность.
Спасибо!
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #8 : Июль 28, 2011, 10:09 »

2. Справка == Qt assistant? Если да - то как ее сделать на русском - вроде в qt assistant была такая возможность.
Справка к Qt есть только на английском. Есть недопереведенный вариант на crossplatform.ru.
Учи английский. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
aviabunin
Гость
« Ответ #9 : Июль 28, 2011, 11:30 »

1. И все-таки повторю вопрос - справка это и есть Qt assistant?
2. Русским я владею все-таки лучше...
3. Может не трудно подсказать теги img -  /img что позволяют?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #10 : Июль 28, 2011, 11:31 »

1. Да.
3. Вставлять ссылку на картинку.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
aviabunin
Гость
« Ответ #11 : Июль 28, 2011, 11:41 »

Я прошу прощения за некоторые простые вопросы - можно и самому, конечно, разобраться.
Читаю параллельно Бланшет - Саммерфилд, там и вычитал , что это qt - браузер по справке Qt.
Кстати, увидел , что есть новая книжка Саммерфилда по профессиональному программированию в qt4, но
не нашел свободных раздач, а покупать - нет возмоности пока. Думаю для начала первой книжки и Шлее + справка - достаточно.
  Хотелось бы сделать на мобильном сделать систему работы с картой и базой данных. На работе сделал такую систему под vs 2005 + arcgis + mysql. Было бы неплохо передавать оперативную обстановку на сотовый...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #12 : Июль 28, 2011, 11:47 »

Советую не заморачиваться на книги по Qt, одной достаточно. Основная и самодостаточная литература - Ассистент.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
aviabunin
Гость
« Ответ #13 : Июль 28, 2011, 11:58 »

В принципе согласен.  Да и вообще это я громко сказал - читаю. Беглый просмотр для знакомства с системой ...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.133 секунд. Запросов: 22.