The problem is:
Customer panel is derived from QTabWidget and has some tabs with some widget's
in which operator (person) can edit data. When data is changed in any widget
I check it, and i set bold font in QLabel that is "buddy" for this widget. I'm doing this by setting:
QFont fontBold; fontBold.setBold(true);
widget->setFont(fontBold)
So far so good.
Next I wanted to have tabs in which there is modified and unsaved data to be also marked with bold font. Even when user switches to other tab, and he leaves unsaved data this tab should remain marked with bold font until he comes back and save the data.
That's the problem.
If I set setFont for widget, or QTabBar - all text, or all tabs are marked bold.
In my class that is derived from QTabWidget I have:
QTabBar *tabBar() const { return QTabWidget::tabBar(); }
So I can access the tabBar and for example use setTabTextColor - to mark this tab with different color - that's some kind of solution, but other "buddy"labels are marked with bold font, so tabText should be bold to.
If I use setStyleSheet I can make bold font, but there is also a problem:
this->tabBar()->setStyleSheet("QTabBar::tab { font:bold }");
This sets all tabs with bold text, if I use Pseudo-States like active, selected, etc. - it changes when user switch to other tab, and I need to keep this tab bold until data is saved.
I could use setProperty and then make styleSheet for widget with particular property, but the real problem is, that I can't, or don't know how to access one tab in QTabBar (for example by knowing it's index number)
I have seen, that in QT3 there was QTab* QTabBar::tab(int) which gives access to particular tab, but this is no longer available. I read http://qt.nokia.com/doc/4.5/stylesheet-examples.html and http://qt.nokia.com/doc/4.5/stylesheet-reference.html and I didn't find solution.
How to access particular tab in QTabBar (by its index number) or how to set font:bold with styleSheet for particular tab which preserve bold font when user switches to other tabs?
Thanks in advance.