Russian Qt Forum
Май 18, 2012, 19:43
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
(Модератор:
Sergeich
) >
По кнопке выполнить функцию
Страниц: [
1
]
2
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: По кнопке выполнить функцию (Прочитано 1151 раз)
__Heaven__
Новичок
Offline
Сообщений: 32
По кнопке выполнить функцию
«
:
Декабрь 22, 2011, 03:16 »
Привет всем. Я начинающий изучать Qt на VS 2008. Меня крайне срочно заинтересовал вопрос, как мне имея несколько спинов, кнопку и текстэдит по нажатии на кнопку считать спины в пременные, выполнить функцию, зависящую от этих переменных и вывести результат в текстэдит? Заранее благодарен.
Записан
kambala
phpBB Житель матрицы
Offline
Сообщений: 1247
Re: По кнопке выполнить функцию
«
Ответ #1 :
Декабрь 22, 2011, 03:32 »
для начала надо бы почитать документацию о механизме сигналов-слотов и посмотреть какие есть методы у спинов и текстэдита, можно еще примеры какие-то посмотреть. после этого все должно стать ясно.
Записан
K.A.M.B.A.L.A.: Kinetic Artificial Machine Built for Assassination and Logical Analysis
__Heaven__
Новичок
Offline
Сообщений: 32
Re: По кнопке выполнить функцию
«
Ответ #2 :
Декабрь 22, 2011, 07:21 »
ды знаю я о connect на clicked()
мне не понятно, как взять значения и записать в переменные для начала...
Записан
iroln
Частый гость
Online
Сообщений: 294
Re: По кнопке выполнить функцию
«
Ответ #3 :
Декабрь 22, 2011, 08:01 »
У QSpinBox есть методы value/setValue, через них и получаешь/устанавливаешь значение. Документация рулит.
Записан
__Heaven__
Новичок
Offline
Сообщений: 32
Re: По кнопке выполнить функцию
«
Ответ #4 :
Декабрь 22, 2011, 11:46 »
да. эти свойства я видел.
Просто я привык в дэлфи, что на нажатие кнопки существует обычная функция. Так вот, я и хотел бы создать и связать эту функцию с кнопкой.
извиняюсь за свой маразм, но я действительно не могу найти, как это сделать. Документация на сайте и в асистанте не помогает мне. наверное путаюсь. есть ли у кого пример похожий?Может кто поделится?
Записан
kambala
phpBB Житель матрицы
Offline
Сообщений: 1247
Re: По кнопке выполнить функцию
«
Ответ #5 :
Декабрь 22, 2011, 13:44 »
слот, который ты соединяешь с сигналом clicked(), и есть эта "обычная функция", за исключением того, что это просто метод класса.
Цитата: __Heaven__ от Декабрь 22, 2011, 07:21
ды знаю я о connect на clicked()
Цитата: __Heaven__ от Декабрь 22, 2011, 11:46
я и хотел бы создать и связать эту функцию с кнопкой.
противоречишь сам себе
Записан
K.A.M.B.A.L.A.: Kinetic Artificial Machine Built for Assassination and Logical Analysis
KrupaKarlo
Новичок
Offline
Сообщений: 33
Re: По кнопке выполнить функцию
«
Ответ #6 :
Декабрь 22, 2011, 13:53 »
Допустим есть spin1 и spin2 кнопка btn и textedit
считаем функцию что spin1*spin2 - 2.3
Код:
connect(btn, SIGNAL(clicked()), this, SLOT(slot_lolo()) );
double Класс::result()
{
return spin1->value()*spin2->value() - 2.3;
}
void Класс::slot_lolo()
{
textedit->setText(QString::number(result()));
}
примерно так, но писал от балды не проверяя могут быть косяки. Если ты не Киркоров остальное додумаешь
Записан
__Heaven__
Новичок
Offline
Сообщений: 32
Re: По кнопке выполнить функцию
«
Ответ #7 :
Декабрь 22, 2011, 19:58 »
о. да, что-то похожее я видел. но я не понял, что есть this.
Записан
kambala
phpBB Житель матрицы
Offline
Сообщений: 1247
Re: По кнопке выполнить функцию
«
Ответ #8 :
Декабрь 22, 2011, 20:23 »
значит для начала надо почитать о классах в С++
Записан
K.A.M.B.A.L.A.: Kinetic Artificial Machine Built for Assassination and Logical Analysis
KrupaKarlo
Новичок
Offline
Сообщений: 33
Re: По кнопке выполнить функцию
«
Ответ #9 :
Декабрь 23, 2011, 07:55 »
this на пальцах это ссылка на самого себя. т.е. тут говорится, что обрабатывать нажатие кнопки будет функция класса в котором ты код и пишешь)
Записан
lighting
Чайник
Offline
Сообщений: 98
Re: По кнопке выполнить функцию
«
Ответ #10 :
Декабрь 23, 2011, 10:11 »
Цитата: __Heaven__ от Декабрь 22, 2011, 19:58
но я не понял, что есть this.
то же что self в delphi
Записан
__Heaven__
Новичок
Offline
Сообщений: 32
Re: По кнопке выполнить функцию
«
Ответ #11 :
Декабрь 23, 2011, 13:11 »
Ребят, ввожу
Код:
connect (ThermodynamicRunButton, SIGNAL(clicked()), this, SLOT(my_function());
где
Код:
double a;
void my_function()
{
a=0;
}
выдаёт
error C2673: 'main' : global functions do not have 'this' pointers
Записан
joker
Новичок
Offline
Сообщений: 26
Re: По кнопке выполнить функцию
«
Ответ #12 :
Декабрь 23, 2011, 13:34 »
1. RTFM C++
2. RTFM Qt
....................
n. Быстрый вариант для студента - делать форму в дизайнере QtCreator-a - ПКМ по кнопке на форме, "Перейти к слоту", clicked().
При этом доступ к другим элементам формы как ui->
Записан
KrupaKarlo
Новичок
Offline
Сообщений: 33
Re: По кнопке выполнить функцию
«
Ответ #13 :
Декабрь 23, 2011, 14:30 »
Даже по ошибке понятно что ты делаешь не так. Полное незнание ни Qt ни даже основ С++...
Записан
iroln
Частый гость
Online
Сообщений: 294
Re: По кнопке выполнить функцию
«
Ответ #14 :
Декабрь 23, 2011, 15:52 »
Да чел сам в шоке, какие-то классы, функции, С++, что это вообще фиг поймёшь. О том, что про всё это можно прочитать в книжке, наверное, даже мысль такая не приходила в голову?
Как-то всё это печально.
Записан
Страниц: [
1
]
2
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...