Zdravím všechny, mám drobný dotaz pro všechny zdejší odborníky na Qt.
Vytvářím si jako cvičení jednoduché okno s několika widgety (mimo jiné také QColorDialog, který bude určovat barvu určitého textu). Chci zde přidat jednoduchý widget na principu QLabelu, v němž by byla umístěn číselný údaj, který bude obarvený pomocí widgetu QColorDialog.
Jestli jsem pochopil správně, mohl bych sice využít samotný QLabel s využitím funkce setTextFormat(Qt::TextFormat) kde lze zvolit jako parametr Qt::RichText a následně html syntaxí dospět ke kýženému výsledku, ale chtěl jsem vytvořit "čistější" řešení, které by mě nenutilo převádět QColor na text udávající hexadecimální hodnotu barvy a ten vkládat do předpřipraveného řetězce.
Něco málo, co by mi mohlo v tomto směru pomoci jsem nakonec skutečně našel. Konkrétně se jedná o třídu QTextFormat, kde mohu pomocí funkce setForeground(QBrush&) nastavit barvu popředí (kde do QBrush přidám ještě barvu, případně další parametry). Jenže se mi bohužel nedaří zjistit, k čemu bych přesně měl ten QTextFormat přiřadit. Všechny příklady, které jsem dosud viděl vedou k daleko složitějším programům obsahujícím parsování textu a využití objektu QTextDocument, což mi přijde jako jít s kanónem na vrabce.
Našel jsem sice nějakou základní třídu, do které by se něco takového dalo nastavit, ale jednak je zjevně určená jako bázová třída pro nějaké další objekty, a k navíc funkce, kterou bych potřeboval pro nastavení daného objektu má nastavenu jako protected, díky čemuž ji nemůžu použít i kdybych chtěl (konkrétně se jedná o QTextObject). Víte někdo o nějakém jednodušším widgetu, kterému budu moci přiřadit QTextFormat a bude sloužit jako obyčejný obarvený QLabel (nechci, ať to vypadá podobně jako QTextEdit) nebo mi nezbyde, než vytvořit pomocí dědičnosti nový objekt, kde budu pomocí Qt::RichText a html syntaxe přidávat barvu, font a velikost písma (případně další parametry)? Vidíte případně nějaký jiný způsob, jak elegantně řešit takovéto zadání?
Díky všem předem za odpovědi!