Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2013, 00:35   #1
lassska
 
Регистрация: 02.04.2013
Сообщений: 6
Печаль вопрос по QT

Код:
#include <string>
using namespace std;
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}char int_symbol(int in){
    char out[]={'0','1','2','3','4','5','6','7','8','9',
    'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X','Y','Z'};
    return out[in];}
void MainWindow::on_pushButton_clicked()
{char (*p)(int);
    p=int_symbol;
int a,b,i,d,c;
a=ui->lineEdit->text().toInt();
b=ui->lineEdit_2->text().toInt();
d=ui->lineEdit_3->text().toInt();
c=a+b;
if (d==2)
for (i = 4; i >= 0; i--)
{if ((1 << i) & c)
{ui->plainTextEdit_3->insertPlainText(QString::number(1));}
 else
{ui->plainTextEdit_3->insertPlainText(QString::number(0));}
}
void ten_base(int c, int d){
    if (c<d) {
      ui->plainTextEdit_3->insertPlainText(QString(p(c)));
        return;
    }
    ten_base(c/d,d);
   ui->plainTextEdit_3->insertPlainText(QString(p(c%d)));
}
}

Помогите пожалуйста разобраться с функциями в QT пишет ошибку: a function-definition is not allowed here before '{' token и ошибка: expected '}' at end of input...
lassska вне форума Ответить с цитированием
Старый 02.04.2013, 00:56   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Посчитайте количество открывающихся и закрывающихся фигурных скобок. Ошибка не связана с Qt. У вас лишняя закрывающаяся скобка.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 02.04.2013, 23:06   #3
lassska
 
Регистрация: 02.04.2013
Сообщений: 6
По умолчанию

Дело в том, что я хочу "в кнопку" забить функцию, но он не воспринимает ее как функцию и выводит такие ошибки... подскажите как сделать, чтоб функция void ten_base(int c, int d) работала в кнопке а то уже все перепробывала
lassska вне форума Ответить с цитированием
Старый 03.04.2013, 10:18   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Ну, во первых, вы бы ее в класс окна добавили для приличия.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 03.04.2013, 10:18   #5
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

В Qt используется система сигнал слот. Читай про них. Для примера как можно сделать.

в заголовочный файл добавляешь
Код:
private slots:
    ten_base();
В конструктор класса -
Код:
connect(ui->plainTextEdit_3-,SIGNAL(clicked()),SLOT(ten_base()));
В функции ten_base() уже получаешь данные из LineEditor.
der_igel вне форума Ответить с цитированием
Старый 03.04.2013, 12:26   #6
lassska
 
Регистрация: 02.04.2013
Сообщений: 6
По умолчанию

Код:
class A: public QObject
{Q_OBJECT

private slots:
    void ten_base();

    A(){ connect(ui->plainTextEdit_3,SIGNAL(clicked()),SLOT(ten_base()));}
};
Правильно ли поняла...
только в этом случае ошибка связана с ui
lassska вне форума Ответить с цитированием
Старый 03.04.2013, 14:15   #7
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

Ну да класс А, не знает о ui.
Если создавать GUI приложение по умолчанию.

Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->plainTextEdit_3,SIGNAL(clicked()),SLOT(ten_base()));
}

MainWindow::~MainWindow()
{
    delete ui;
}
der_igel вне форума Ответить с цитированием
Старый 04.04.2013, 00:39   #8
lassska
 
Регистрация: 02.04.2013
Сообщений: 6
По умолчанию

Спасибо большое))
Разобралась,все работает
lassska вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос KIRILOW Помощь студентам 3 01.12.2012 12:38
Вопрос по С++ skin11 Помощь студентам 21 28.11.2011 10:51
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10