Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.
Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.
Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,
… více »Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.
Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.
Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.
Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.
Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.
Ahoj!
Pred par dny jsem zacal delat na takove mensi aplikaci, pro vyvoj jsem si vybral C++ a Qt, i kdyz ani s jednim nemam prakticky zadne zkusenosti. S C++ to docela jde, prechod z C# a Javy neni tak hrozny, clovek spis citi prijemnou volnost -)
Ted k problemu, na zacatku programu potrebuju nacist nejaka data skrz gui a pri behu je pripadne lehce editovat, precetl jsem si nejake tutorialy na model / view pattern a implementoval celkem snadno editovani dat pres model a tableView.
Co se mi ale nedari je vkladat a mazat radky z tableView pres gui, zatim jsem to ale pomoci nejakych signalu tlacitek a slotu v modelu celkem dobre obesel. Jako dalsi variantu vidim upraveni tableView a odchytavani nejakych eventu, radsi bych vsak volil nejakou "konfiguracni" cestu, jde to nejak? Ciste subjektivne, je lepsi pouzivat tlacitka se signaly nebo poupravit tableView? Nebo jsem jen v modelu zapomnel implementovat nejakou fci, ktera to umozni?
Pak by me zajimalo, jak mohu z modelu (nebo z delagatu, k tomu se vratim) upravit vzhled samotne tableView, vim ze pres fci data(...) muzu neco vracet na dotaz Qt::SizeHintRole, ale s tim nemam zadne uspechy. Rad bych totiz, aby se sloupecky (treba podle nejakeho pomeru) roztahly po tableView do 100% sirky (viz priloha) a jeste bych chtel nejakym zpusobem upravit vysku radku.
A na zaver bych se rad zeptal, k cemu je v model / view patternu dobry delegate? S cim mi muze pomoci?
Za kazdou radu nebo tip budu moc vdecny, diky.
Tak se mi to po dalsim usilovnem patrani a zkouseni podarilo vyresit.
Misto QTableView pro zobrazeni pouzivam vlastnim tridu dedici prave QTableView.
Pro pridavani a mazani zaznamu jsem si overridnul funkci keyPressEvent (..) a podle zrovna oznacenych radku posilam pozadavky primo do modelu, kde jsem implementoval funkce insertRows(..) a removeRows(..).
Pro upravu layoutu jsem nejdriv implementoval funkci data(..) v modelu tak, aby pri volani, kdy role == Qt::SizeHintRole, vracela percentualni velikost jednotlivych sloupecku. A funkci resizeEvent(..) v mem QTableView jsem implementoval takto:
(misto Qt::SizeHintRole by samozrejme sla pouzit jakakoliv jina Qtckem nepouzita hodnota, ale nezaznamenal jsem, ze by QTableView funkci data(..) s arg. role == Qt::SizeHintRole nekdy volal)
{
int count = model()->columnCount();
int total = 0;
//rozdelim podle pomeru z hintu
for (int i = 0; i < count - 1; i++)
{
const QModelIndex index = model()->index(0, i);
QVariant hint = model()->data(index, Qt::SizeHintRole);
int size = (width() / 100) * hint.toInt();
horizontalHeader()->resizeSection(i, size);
total = total + size;
}
//posledni sloupec dostane zbytek mista + rezervu kvuli scrollu
horizontalHeader()->resizeSection(count - 1, width() - total - 20);
}
Treba nekomu pomuze...
Tiskni
Sdílej: