Реализация контроллера представления модели QT

#c #qt #model-view-controller

#c #qt #model-view-controller

Вопрос:

я новичок в c / QT, и поэтому я должен создать программу, которая помещает значения из 2 полей QEditText в таблицу с помощью кнопки. Когда имя из значения существует, появляется QMessageBox. Когда я щелкнул по заголовку из таблицы, они отсортировали его по алфавиту . Но теперь мой босс хочет, чтобы я создал ist в MVC-концепции. Я много читал об этом, но сейчас я не понимаю, как я реализовал это в своем проекте. кто-нибудь может мне помочь или дать совет? Я говорю по-немецки и не очень хорошо по-английски, так что вы можете писать по-немецки 🙂

У меня есть таблица.где находится класс Tabelle: QWidget , и кому я объявляю свои слоты и мои поля редактирования и т.д.

чем у меня есть Tabelle.cpp это включает Tabele.h здесь у меня есть все мои методы, подобные слоту pushbuttonklick, в этом слоте я сортирую элементы и смотрю, существуют ли они тоже.

и mothod » init», где я создаю метки, редактирую поля, помещаю объекты в макет и все такое.

Чем у меня есть TabelleMain.cpp с чего я «начал» свою программу

 QApplication myapp(argc,argv);
 Tabelle tabelle;
 tabelle.init();        
  

верните myapp.exec();

как я должен изменить свою программу и что мне нужно добавить? Спасибо, что помогли мне 🙂 !

Комментарии:

1. Вероятно, вам лучше действительно понять концепции, лежащие в основе шаблона MVC, прежде чем начинать проект. Как только вы поймете MVC, вы сможете легко смоделировать свою проблему. Первый намек может быть таким: en.wikipedia.org/wiki/Model–view–controller

2. да, я прочитал 10 учебных пособий или больше, но я не знаю, как я могу сделать это в своей программе. С помощью простого проекта, в котором я установил и получил строку из текстового поля, я понял это, но проблема в моей программе, а не в MVC как таковом.

Ответ №1:

Если я обращусь к ссылке, которую дал вам Ispas Claudiu, первое, на что вы должны обратить внимание, это:

«(Модель MVC) Он делит данное программное приложение на три взаимосвязанные части»

Qt использует подход модель / представление, поэтому я думаю, что отделять контроллер от представления в вашем простом примере — пустая трата времени.

Первое, что вам нужно сделать, это создать два каталога Model, View.

В папке модели у вас может быть контейнер класса, который управляет значениями, которые вы хотите отобразить в своей таблице. В папке View у вас может быть какой-то класс, который управляет всей частью графического интерфейса (QMessageBox, QTextEdit и т.д.)

С помощью signal / slot очень легко соединить эти две части.