crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в ComboBox
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 28.2.2011, 17:44
  Cerberon, двойные скобки не нужно.
Cerberon Дата 28.2.2011, 12:43
 
if ((index == 1))
Rocky Дата 27.2.2011, 22:53
  А вот в строке
if (index = 1)

ничего не смущает? ;)
Litkevich Yuriy Дата 27.2.2011, 20:59
  Cerberon, да ты оригинал.
Сделай переменную str членом класса (запиши её в объявлении класса). В функции MainWindow::on_comboBox_currentIndexChanged убери объявление (текст QString). Тогда будешь работать с одной переменной
Cerberon Дата 27.2.2011, 20:43
 
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
QString str;

void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    if (index = 1) {
        QString str = "One";
    }
}

void MainWindow::on_pushButton_2_clicked()
{

     ui->textEdit->insertPlainText(str);

}

MainWindow::~MainWindow()
{
    delete ui;
}
Litkevich Yuriy Дата 27.2.2011, 20:09
 
Цитата(Cerberon @ 27.2.2011, 21:11) *
В начале кода
что значит в начале кода?

Я вижу :
void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    if (index = 1)
    {
        QString str = "One"; // объявлена переменная внутри блока if
    }
}


И
void MainWindow::on_pushButton_2_clicked()
{
     ui->textEdit->insertPlainText(str); // используется переменная str, на которую компилятор не будет ругаться только если она член класса MainWindow
}
Cerberon Дата 27.2.2011, 19:11
  В смысле член класса, хочешь сказать это две разные переменные?
В начале кода объявлена так:
QString str;
Litkevich Yuriy Дата 27.2.2011, 16:16
 
Цитата(Cerberon @ 27.2.2011, 17:15) *
Но значение переменной str не меняется.
какой именно?
той что локальная в функции void MainWindow::on_comboBox_currentIndexChanged(int index) или той, что член класса?
Cerberon Дата 27.2.2011, 15:15
  Да. Вот мой код:
void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    if (index = 1)
    {
        QString str = "One";
    }
}


void MainWindow::on_pushButton_2_clicked()
{
     ui->textEdit->insertPlainText(str);
}

Но значение переменной str не меняется.
RazrFalcon Дата 27.2.2011, 11:36
 
void MainWindow::comboBox_currentIndexChanged(int index)
{
if (index = 1) {
QString str = "One";
}
}


или

void MainWindow::order_comboBox_currentIndexChanged(QString name)
{
QString str = name;
}


ПКМ по комбобоксу в дизайнере - слоты - ищем там выше приведенные.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 5:36