crossplatform.ru

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

> Правильно написать функцию в GUI проге, Передача параметров между кнопками.
Aleksei
  опции профиля:
сообщение 3.9.2014, 20:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 3.9.2014
Пользователь №: 4219

Спасибо сказали: 0 раз(а)




Репутация:   0  


в консоле получалась функция, а тут не знаю как.
mainwindow.h
добавил

private:
    void mFile(QString file);


mainwindow.cpp
добавил

void MainWindow::mFile(QString file) //моя функция
{
}
void MainWindow::on_pushButton_clicked() //выбор файла
{
    QString str = QFileDialog::getOpenFileName(this, "Выбрать файл", "", "*.txt");
    mFile(str); //передал значение в функцию
}
void MainWindow::on_pushButton_2_clicked() //вывод свойства файла
{
         QFileInfo info(mFile());
         ui->label_2->setText("Имя файла: " +info.fileName());
}


как правильно оформить функцию?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 5.9.2014, 14:47
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Aleksei, Вам нужно прекращать обезьяничать с визуальным дизайнером. В частности с автоматическим созданием слотов.

Что делает эта функция :
void MainWindow::on_pushButton_3_clicked()

А эта?
void MainWindow::on_pushButton_500_clicked()


Функции и переменные должны в своём названии отражать суть, никаких pushButton_3 быть не может.
Привыкайте сразу писать код для людей, а не для компилятора.

Представьте себя в лифте, в котором кнопки обозваны, как у вас, например вместо кнопок Стоп и Вызов - pushButton_18 и pushButton_43


Цитата(FireBlack @ 5.9.2014, 7:56) *
//<- вот здесь объект oFile будет уничтожен, и закрытие файла произойдет автоматически.
+ много! Это очень важно!
Aleksei, вам книжку путнюю по Си++ надо держать под рукой
На начальном этапе может Герберт Шилдт подойти (но если будете вникать вам её покажется мало), а отечественных авторов лучше не брать, они сами нифига не понимают.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FireBlack
  опции профиля:
сообщение 5.9.2014, 15:30
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 17.10.2010
Из: г.Пенза
Пользователь №: 2121

Спасибо сказали: 13 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 5.9.2014, 15:47) *
Aleksei, Вам нужно прекращать обезьяничать с визуальным дизайнером. В частности с автоматическим созданием слотов.

Предлагаю компромиссное решение: использовать автоматическое создание слотов только для переименованных объектов. Например, QPushButton кнопку, при нажатии на которую выбирается файл - именовать pbnSelectFileName. Тогда слот будет выглядеть void MainWindow::on_pbnSelectFileName_clicked(), по-моему вполне читабельно. Поле ввода QLineEdit, куда Вы выводите имя файла именовать leFileName и так далее.
ИМХО: подобное решение позволяет использовать все плюшки дизайнера и не снижает читабельности кода.

Цитата(Litkevich Yuriy @ 5.9.2014, 15:47) *
Функции и переменные должны в своём названии отражать суть, никаких pushButton_3 быть не может.
Привыкайте сразу писать код для людей, а не для компилятора.

А вот с этим я полностью согласен, красиво сказано.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.4.2024, 2:18