[{"data":1,"prerenderedAt":543},["ShallowReactive",2],{"tag-posts-qgenconfig":3},[4],{"id":5,"title":6,"author":7,"body":8,"category":324,"categorySlug":325,"date":326,"description":41,"excerpt":327,"extension":533,"location":534,"meta":535,"navigation":79,"path":536,"published":79,"seo":537,"slug":538,"stem":539,"tags":540,"timeToRead":76,"__hash__":542},"posts\u002Fposts\u002FQGenConfig\u002F2011-08-06-qgenconfig-generateur-de-classe.md","qGenConfig - Générateur de classe","Ulrich Vandenhekke",{"type":9,"value":10,"toc":319},"minimark",[11,16,29,35,167,170,274,277,283,289,293,303,307,315],[12,13,15],"h2",{"id":14},"présentation","Présentation",[17,18,19,20,24,25,28],"p",{},"Ce logiciel permet de générer des objets ",[21,22,23],"code",{},"Qt"," héritant de ",[21,26,27],{},"QConfig"," à\npartir d'un fichier écrit au format XML.",[17,30,31,32,34],{},"Lors de la sauvegarde de paramètres avec ",[21,33,23],{},", il faut généralement\nécrire des choses ainsi :",[36,37,42],"pre",{"className":38,"code":39,"language":40,"meta":41,"style":41},"language-cpp shiki shiki-themes one-dark-pro","QSettings settings(\"MaBoite\", \"MonLogiciel\");\n\nsettings.beginGroup(\"Ma fenêtre\");\nsettings.setValue(\"Taille\", win->size());\nsettings.setValue(\"Pleine écran\", win->isFullScreen());\nsettings.endGroup();\n","cpp","",[21,43,44,74,81,100,129,154],{"__ignoreMap":41},[45,46,49,53,57,61,65,68,71],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"sU0A5","QSettings",[45,54,56],{"class":55},"sVbv2"," settings",[45,58,60],{"class":59},"sn6KH","(",[45,62,64],{"class":63},"subq3","\"MaBoite\"",[45,66,67],{"class":59},", ",[45,69,70],{"class":63},"\"MonLogiciel\"",[45,72,73],{"class":59},");\n",[45,75,77],{"class":47,"line":76},2,[45,78,80],{"emptyLinePlaceholder":79},true,"\n",[45,82,84,87,90,93,95,98],{"class":47,"line":83},3,[45,85,86],{"class":51},"settings",[45,88,89],{"class":59},".",[45,91,92],{"class":55},"beginGroup",[45,94,60],{"class":59},[45,96,97],{"class":63},"\"Ma fenêtre\"",[45,99,73],{"class":59},[45,101,103,105,107,110,112,115,117,120,123,126],{"class":47,"line":102},4,[45,104,86],{"class":51},[45,106,89],{"class":59},[45,108,109],{"class":55},"setValue",[45,111,60],{"class":59},[45,113,114],{"class":63},"\"Taille\"",[45,116,67],{"class":59},[45,118,119],{"class":51},"win",[45,121,122],{"class":59},"->",[45,124,125],{"class":55},"size",[45,127,128],{"class":59},"());\n",[45,130,132,134,136,138,140,143,145,147,149,152],{"class":47,"line":131},5,[45,133,86],{"class":51},[45,135,89],{"class":59},[45,137,109],{"class":55},[45,139,60],{"class":59},[45,141,142],{"class":63},"\"Pleine écran\"",[45,144,67],{"class":59},[45,146,119],{"class":51},[45,148,122],{"class":59},[45,150,151],{"class":55},"isFullScreen",[45,153,128],{"class":59},[45,155,157,159,161,164],{"class":47,"line":156},6,[45,158,86],{"class":51},[45,160,89],{"class":59},[45,162,163],{"class":55},"endGroup",[45,165,166],{"class":59},"();\n",[17,168,169],{},"Puis pour récupérer les mêmes paramètres, il faut écrire :",[36,171,173],{"className":38,"code":172,"language":40,"meta":41,"style":41},"QSettings settings(\"MaBoite\", \"MonLogiciel\");\n\nsettings.beginGroup(\"Ma fenêtre\");\nQSize size = settings.value(\"Taille\").toSize();\nbool fullscreen = settings.value(\"Pleine écran\").toBool();\nsettings.endGroup();\n",[21,174,175,191,195,209,237,264],{"__ignoreMap":41},[45,176,177,179,181,183,185,187,189],{"class":47,"line":48},[45,178,52],{"class":51},[45,180,56],{"class":55},[45,182,60],{"class":59},[45,184,64],{"class":63},[45,186,67],{"class":59},[45,188,70],{"class":63},[45,190,73],{"class":59},[45,192,193],{"class":47,"line":76},[45,194,80],{"emptyLinePlaceholder":79},[45,196,197,199,201,203,205,207],{"class":47,"line":83},[45,198,86],{"class":51},[45,200,89],{"class":59},[45,202,92],{"class":55},[45,204,60],{"class":59},[45,206,97],{"class":63},[45,208,73],{"class":59},[45,210,211,214,218,220,222,225,227,229,232,235],{"class":47,"line":102},[45,212,213],{"class":59},"QSize size ",[45,215,217],{"class":216},"seHd6","=",[45,219,56],{"class":51},[45,221,89],{"class":59},[45,223,224],{"class":55},"value",[45,226,60],{"class":59},[45,228,114],{"class":63},[45,230,231],{"class":59},").",[45,233,234],{"class":55},"toSize",[45,236,166],{"class":59},[45,238,239,242,245,247,249,251,253,255,257,259,262],{"class":47,"line":131},[45,240,241],{"class":216},"bool",[45,243,244],{"class":59}," fullscreen ",[45,246,217],{"class":216},[45,248,56],{"class":51},[45,250,89],{"class":59},[45,252,224],{"class":55},[45,254,60],{"class":59},[45,256,142],{"class":63},[45,258,231],{"class":59},[45,260,261],{"class":55},"toBool",[45,263,166],{"class":59},[45,265,266,268,270,272],{"class":47,"line":156},[45,267,86],{"class":51},[45,269,89],{"class":59},[45,271,163],{"class":55},[45,273,166],{"class":59},[17,275,276],{},"Si les valeurs doivent être récupérées dans toute l'application et qu'un\njour l'un des paramètres change de nom, de type, ou de groupe, il ne\nsera pas possible d'être sûr que tous les endroits de l'application sont\nbien modifiés lors de la compilation.",[17,278,279,280,89],{},"C'est là qu'intervient ",[21,281,282],{},"qGenConfig",[17,284,285,286,288],{},"Le but est d'écrire un fichier XML représentant la configuration du\nlogiciel et possédant une certaine structure (des groupes, et des\nvaleurs). Le programme parcourt ensuite ce fichier et génère une classe\npermettant de lire et d'enregistrer la configuration à l'aide de\n",[21,287,282],{},". Le contenu des données est alors stocké dans une structure\nC, et permet l'accès facile aux données de configuration. Si une donnée\nchange de type, de nom, ou de groupe, le programme ne compilera plus.",[12,290,292],{"id":291},"licence","Licence",[17,294,295,296,89],{},"La licence choisie est la ",[297,298,302],"a",{"href":299,"rel":300},"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.txt",[301],"nofollow","GNU GENERAL PUBLIC LICENSE",[12,304,306],{"id":305},"téléchargement","Téléchargement",[17,308,309,310],{},"Il est possible de télécharger l'application sur le dépôt officiel à\nl'adresse : ",[297,311,314],{"href":312,"rel":313},"http:\u002F\u002Fhg.shadoware.org\u002FSoftware\u002Fqgenconfig?pk_campaign=shadoware",[301],"http:\u002F\u002Fhg.shadoware.org\u002FSoftware\u002Fqgenconfig",[316,317,318],"style",{},"html pre.shiki code .sU0A5, html code.shiki .sU0A5{--shiki-default:#E5C07B}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sn6KH, html code.shiki .sn6KH{--shiki-default:#ABB2BF}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .seHd6, html code.shiki .seHd6{--shiki-default:#C678DD}",{"title":41,"searchDepth":76,"depth":76,"links":320},[321,322,323],{"id":14,"depth":76,"text":15},{"id":291,"depth":76,"text":292},{"id":305,"depth":76,"text":306},"QGenConfig","qgenconfig","2011-08-06",{"type":9,"value":328},[329,331,337,341,433,435,529,531],[12,330,15],{"id":14},[17,332,19,333,24,335,28],{},[21,334,23],{},[21,336,27],{},[17,338,31,339,34],{},[21,340,23],{},[36,342,343],{"className":38,"code":39,"language":40,"meta":41,"style":41},[21,344,345,361,365,379,401,423],{"__ignoreMap":41},[45,346,347,349,351,353,355,357,359],{"class":47,"line":48},[45,348,52],{"class":51},[45,350,56],{"class":55},[45,352,60],{"class":59},[45,354,64],{"class":63},[45,356,67],{"class":59},[45,358,70],{"class":63},[45,360,73],{"class":59},[45,362,363],{"class":47,"line":76},[45,364,80],{"emptyLinePlaceholder":79},[45,366,367,369,371,373,375,377],{"class":47,"line":83},[45,368,86],{"class":51},[45,370,89],{"class":59},[45,372,92],{"class":55},[45,374,60],{"class":59},[45,376,97],{"class":63},[45,378,73],{"class":59},[45,380,381,383,385,387,389,391,393,395,397,399],{"class":47,"line":102},[45,382,86],{"class":51},[45,384,89],{"class":59},[45,386,109],{"class":55},[45,388,60],{"class":59},[45,390,114],{"class":63},[45,392,67],{"class":59},[45,394,119],{"class":51},[45,396,122],{"class":59},[45,398,125],{"class":55},[45,400,128],{"class":59},[45,402,403,405,407,409,411,413,415,417,419,421],{"class":47,"line":131},[45,404,86],{"class":51},[45,406,89],{"class":59},[45,408,109],{"class":55},[45,410,60],{"class":59},[45,412,142],{"class":63},[45,414,67],{"class":59},[45,416,119],{"class":51},[45,418,122],{"class":59},[45,420,151],{"class":55},[45,422,128],{"class":59},[45,424,425,427,429,431],{"class":47,"line":156},[45,426,86],{"class":51},[45,428,89],{"class":59},[45,430,163],{"class":55},[45,432,166],{"class":59},[17,434,169],{},[36,436,437],{"className":38,"code":172,"language":40,"meta":41,"style":41},[21,438,439,455,459,473,495,519],{"__ignoreMap":41},[45,440,441,443,445,447,449,451,453],{"class":47,"line":48},[45,442,52],{"class":51},[45,444,56],{"class":55},[45,446,60],{"class":59},[45,448,64],{"class":63},[45,450,67],{"class":59},[45,452,70],{"class":63},[45,454,73],{"class":59},[45,456,457],{"class":47,"line":76},[45,458,80],{"emptyLinePlaceholder":79},[45,460,461,463,465,467,469,471],{"class":47,"line":83},[45,462,86],{"class":51},[45,464,89],{"class":59},[45,466,92],{"class":55},[45,468,60],{"class":59},[45,470,97],{"class":63},[45,472,73],{"class":59},[45,474,475,477,479,481,483,485,487,489,491,493],{"class":47,"line":102},[45,476,213],{"class":59},[45,478,217],{"class":216},[45,480,56],{"class":51},[45,482,89],{"class":59},[45,484,224],{"class":55},[45,486,60],{"class":59},[45,488,114],{"class":63},[45,490,231],{"class":59},[45,492,234],{"class":55},[45,494,166],{"class":59},[45,496,497,499,501,503,505,507,509,511,513,515,517],{"class":47,"line":131},[45,498,241],{"class":216},[45,500,244],{"class":59},[45,502,217],{"class":216},[45,504,56],{"class":51},[45,506,89],{"class":59},[45,508,224],{"class":55},[45,510,60],{"class":59},[45,512,142],{"class":63},[45,514,231],{"class":59},[45,516,261],{"class":55},[45,518,166],{"class":59},[45,520,521,523,525,527],{"class":47,"line":156},[45,522,86],{"class":51},[45,524,89],{"class":59},[45,526,163],{"class":55},[45,528,166],{"class":59},[17,530,276],{},[316,532,318],{},"md","Lille, France",{},"\u002Fpost\u002Fqgenconfig-generateur-de-classe",{"title":6,"description":41},"qgenconfig-generateur-de-classe","posts\u002FQGenConfig\u002F2011-08-06-qgenconfig-generateur-de-classe",[325,541],"qt","zKVGw5y0H6WBfipekCU-jDYgCl9Lo12soIhuD9beiyM",1777582403893]