[SOLVED] What would be the best way to display a list of items in Qt
-
Thank you all for the good information, every time I ask a question I learn something else, that's great.
I forgot to mention one thing and probably the most important one is that this file will need to be access by multiple users, in other words any user can modify the file (file will be in a share drive). The list will contain about 150 different material types something like...
STAINLESS STEEL:
Part# Description
Part# Description
Part# Description
...COLD ROLLED STEEL:
Part# Description
Part# Description
Part# Description
...bq. The QTextEdit will handle all modifications you need and when the job is done and the save button is clicked you can write it away to a QFile.
I guess this is the easiest solution, edit the file in a QTextEdit and save it again.
I would love to be able to use something like the QTreeWidget it would look awesome. Can the information hold by QTreeWidget be loaded from an external file?
Should I be using a database instead?
Thanks
-
Yes, the information in a QTreeView (or any widget) can be loaded from a file. It's up to you to write the code for that though. You may use a database instead, and it might be a good idea for other reasons, but it is nor needed to solve your actual issue.
-
Thanks a lot for your help.
Where should I start looking if I want to go with an SQL database?
-
Again: it doesn't solve your issue, so perhaps you should try to solve one issue at a time and not confuse yourself with adding yet more new technologies you'll need to learn.
Anyway, more on using SQL in qt can be found my reading the documentation that appears if you enter "qsql" as the filter for the documentation index in creator. Start with reading the [[doc:QSqlDatabase]] docs.
-
Ok, can you please tell me what would you used if you had to do what a list of 150 items where adding and deleting is involved?
As always thanks a lot for you help!
-
So you want to read and write data from different workstations and keep the data consistent ?
I would suggest that before you think about how to display the data, you should think about how you want to achieve the task of the interaction. -
bq. So you want to read and write data from different workstations and keep the data consistent ?
Yes.
bq. I would suggest that before you think about how to display the data, you should think about how you want to achieve the task of the interaction.
Well I'm actually more concern about the interaction than the display part, I just need advice from the experts to find the best solution.
Thanks
-
I'd build a data structure that properly describes what I'm dealing with, and provides a sane API to manipulate it in the ways I need.
What worries me is this sentence:
[quote author="fs_tigre" date="1343216153"]I forgot to mention one thing and probably the most important one is that this file will need to be access by multiple users, in other words any user can modify the file (file will be in a share drive).[/quote]
Does this mean that you'll be doing live updates with multiple users on the same data, and that you expect the data to be updated for all users at that moment? Because that is going to be quite tricky to do, and is not something you can explain how to do in a simple way. -
My first thought was to have a server that reads the initial (text, xml, JSON,..) document into an custom datastructure and maintains its state. The workstations would then access the data (for read and write operations) via an interface (CORBA, WebService, TCP,...) provided by the server.
-
Ok, it looks like this is a complicated task which I'm not prepared for yet.
So far the best solution I think is to use the QTextEdit, load the .txt file, change as needed and save it again.
Last question, if I go with the QTextEdit I'm describing here, what would be the best way to style the content in the .txt file? Do I need to work with an HTML file instead?
Side note: I'm very proficient in HTML and CSS.
Thanks
-
I got my own answer on this one, it looks like I can work with an HTML file and use embedded CSS for styling.
Thank you for your time, believe it or not I learn a lot about this topic, my limitations about .txt files etc.
Thanks a lot
-
150 people, all editing the same file containing data? That sounds like a job for a database...
-
No!
150 Items on the list.
10 Users.The file will only be updated once or twice a YEAR by a random user.
Thanks a lot
-
Still sounds like you want a database to me:-)
-
Thanks for the advice!
-
You might or you might not want a database, but using a database as a storage mechism will not help you solve the display issue. They are independent.
-
How about "QSqlTabelModel":http://qt-project.org/doc/qt-4.8/qsqltablemodel.html and "QTableView":http://qt-project.org/doc/qt-4.8/qtableview.html? I haven't used this combination, but combined with QSqlDatabase it sounds quite useful.
-
It is useful, but it does not provide the grouping that fs_tigre is looking for. QSqlTableModel provides a table, as the name already implies, while you would need a tree model to create the grouping. At least in the Qt widget world. QML of course has a list view that has grouping build in based on a flat list...
-
Oh you're right I forgot about the hierachy.
-
Thank you all, I'm actually using HTML and loading and saving the whole file every time a change is made.