Russian Qt Forum
Август 22, 2017, 17:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как привязать код для стека и очереди к кнопкам интерфейса  (Прочитано 425 раз)
onlifeboat
Новичок

Offline Offline

Сообщений: 2


Просмотр профиля
« : Март 13, 2017, 18:35 »

Дали в университете задание:
Создать окно, с графическим интерфейсом, в котором будут кнопки и окошки. Приложение должно работать со стеком и очередью, причем каждое отдельно. Должно все выглядеть, как на картинке.

Есть код, который отвечает за работу с кнопками:

Код
C++ (Qt)
#include "widget.h"
#include "ui_widget.h"
#include <QListWidget>
#include <QApplication>
 
 
Widget::Widget(QWidget *parent) :
   QWidget(parent),
   ui(new Ui::Widget)
{
   ui->setupUi(this);
}
 
Widget::~Widget()
{
   delete ui;
}
int i=-1;
 
void Widget::on_pushButton_2_clicked()
{
 
   if(ui->radioButton->isChecked()){
   ui->listWidget->addItem(ui->textEdit->toPlainText());
   i++;
   }
 
   else if(ui->radioButton_2->isChecked()){
   ui->listWidget_2->addItem(ui->textEdit->toPlainText());
   i++;
   }
 
}
 

Но, как сделать так, чтобы числа вводились и выводились по принципу стека и очереди, понять не могу? Грустный
Препод не объясняет абсолютно ничего, ссылаясь на то, что все есть в гугле...
« Последнее редактирование: Март 13, 2017, 19:31 от gil9red » Записан
gil9red
Administrator
Neo
*****
Offline Offline

Сообщений: 1785



Просмотр профиля WWW
« Ответ #1 : Март 13, 2017, 19:38 »

Используйте функции QListWidget addItem и insertItem для добавления в конец и для добавления в начало
И функцию takeItem для удаления элемента из списка.


А так, если вспомнить школу / универ, то:
push всегда добавляет в конец через addItem для стека и очереди
а pop:
  • для стека удаляет первый элемент -- первый пришел, последний ушел
  • для очереди удаляет последний элемент -- первый пришел, первый ушел

вот же я опозорюсь, если перепутал Улыбающийся

накидал пример
« Последнее редактирование: Март 13, 2017, 20:13 от gil9red » Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.068 секунд. Запросов: 22.