Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: aviabunin от Июль 27, 2011, 10:02



Название: Первые шаги в Qt - не могу установить слот
Отправлено: 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 - нет.
В чем может быть дело?
Спасибо за любую ссылку или совет!



Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: Пантер от Июль 27, 2011, 10:19
А их и не будет. Коннектишь в коде:
connect(ui->button ,SIGNAL (clicked()), this, SLOT (set_text ()));


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: ddrtn от Июль 27, 2011, 10:25
В дезайнере в контекстном меню по имени объекта есть пункт "Изменить сигналы и слоты"


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: aviabunin от Июль 27, 2011, 20:50
Пантер - Спасибо!
ddrtn - у меня QT Creator 2.2.1 - контекстного меню не нашел.
Есть элемент панели инструментов - Изменить сигналы и слоты.
Но в нем как раз слоты из программного кода не появляются ...


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: ddrtn от Июль 28, 2011, 07:35
ddrtn - у меня QT Creator 2.2.1 - контекстного меню не нашел.
Есть элемент панели инструментов - Изменить сигналы и слоты.
Но в нем как раз слоты из программного кода не появляются ...


Справа в инспекторе объектов.


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: aviabunin от Июль 28, 2011, 09:44
Справа есть перечень объектов, но по правой кнопке во всплывающем меню нет - перейти на редактирование signals/slots. Туда можно перейти  через панель инстументов. Но и в этом случае - на появляющемся окне можно добавлять связь сигнал - слот только для стандартных сигналов и слотов элементов. Те, что добавляются программно и добавляются программно, если я правильно понял.  Я просто добавил строку connect...

Не могу догадаться как вставить изображение в это сообщение.  Если с помощью иконки добавить теги  (http://) то как между ними вставить изображение - copy/paste не получается?
 
P.s. попутно вопрос - Qt assistant ставится отдельно от qt sdk?


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: Пантер от Июль 28, 2011, 09:49
P.s. попутно вопрос - Qt assistant ставится отдельно от qt sdk?
Нет, он входит в состав SDK.


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: aviabunin от Июль 28, 2011, 10:02
1. Понял как отображается вложение - это и нужно было. Все таки теги img - что позволяют сделать?
2. Справка == Qt assistant? Если да - то как ее сделать на русском - вроде в qt assistant была такая возможность.
Спасибо!


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: Пантер от Июль 28, 2011, 10:09
2. Справка == Qt assistant? Если да - то как ее сделать на русском - вроде в qt assistant была такая возможность.
Справка к Qt есть только на английском. Есть недопереведенный вариант на crossplatform.ru.
Учи английский. :)


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: aviabunin от Июль 28, 2011, 11:30
1. И все-таки повторю вопрос - справка это и есть Qt assistant?
2. Русским я владею все-таки лучше...
3. Может не трудно подсказать теги img -  /img что позволяют?


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: Пантер от Июль 28, 2011, 11:31
1. Да.
3. Вставлять ссылку на картинку.


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


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: Пантер от Июль 28, 2011, 11:47
Советую не заморачиваться на книги по Qt, одной достаточно. Основная и самодостаточная литература - Ассистент.


Название: Re: Первые шаги в Qt - не могу установить слот
Отправлено: aviabunin от Июль 28, 2011, 11:58
В принципе согласен.  Да и вообще это я громко сказал - читаю. Беглый просмотр для знакомства с системой ...