Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Predpokladám, že KDevelop a QtDesigner máte pripravený a teda môžeme
rovno začať. Ja ho používam v slovenčine, používam teda aj slovenské názvy
položiek v menu, atď... Môžete aspoň trénovať preklad zo slovenčiny do
češtiny a následne do angličtiny
.
Najprv si ukážeme ako sa dá na pár kliknutí vytvoriť základná aplikácia, ktorú sme doteraz vytvárali ručne. Spustite KDevelop, v menu vyberte "Projekt", "Nový". Zobrazí sa sprievodca vytvorením aplikácie. V prvom kroku vyberte "KDE, KDE Mini". Ďalej zadajte názov projektu (ja som ho pomenoval serial1), jeho umiestnenie a tiež aké súbory chcete automaticky vytvoriť (stačí, keď necháte všetko zaškrtnuté). Podporu pre CVS v ďalšom kroku nechajte vypnutú. Potom si vytvorte hlavičkovú šablónu pre *.h a *.cpp súbory. Nakoniec kliknite na vytvoriť. Po skončení sa zobrazí "READY" a môžete kliknúť na tlačítko "Koniec".
Sprievodca vytvoril všetky potrebné súbory (je ich toľko, že sa Vám bude
zdať, že niektoré sú dokonca aj zbytočné). Nás budú zatiaľ zaujímať najmä
tri súbory: main.cpp, serial1.cpp a
serial1.h. Ak ste pomenovali projekt inak, názvy sa zhodovať
nebudú. Vo vygenerovaných súboroch by nás už nemalo nič prekvapiť, všetkými
potrebnými vecami sme sa už zaoberali v predchádzajúcich častiach. Skúste
si prezrieť ich obsah.
Práca s KDevelop-om je naozaj jednoduchá a robí toho veľa za nás. Stlačením klávesu F9 sa spustí kompilácia a po nej aj náš práve vytvorený program. Ostatné dôležité funkcie súvisiace s kompiláciou a spúšťaním nájdete v menu "Kompilovať".
V menu "Súbor" vyberte "Nový". Zobrazí sa dialógové okno, kde v záložke
"Všeobecné" vyberte "Súbor pre Qt Designer *.ui". Zadajte jeho meno (ja som
použil serial1dlg.ui) a takisto nechajte zaškrtnutý checkbox
"pridať do projektu". Potom sa Vás KDevelop opýta, či chcete otvoriť súbor
ako ASCII. Kliknite na "Nie", vďaka čomu nebudete
serial1dlg.ui prezerať ako zdrojový kód. Spustí sa Vám Qt
Designer, kde môžete vizuálne navrhnúť správanie sa dialógu. Qt Designer je
produktom firmy Trolltech (rovnako ako celá knižnica Qt).
Po spustení Qt Designera sa zobrazí dialóg. Vyberte template, ktorý bude najvhodnejší pre vytvorenie nového formulára. Ja som si zvolil Dialog. Na pracovnej ploche programu by sa mal objaviť prázdny formulár. Pravdepodobne v pravej časti nájdete nástroj nazvaný "Property Editor/Signal Handlers". Ak ste niekedy robili v Delphi, Kylixe alebo Visual Basicu, bude Vám asi veľmi známy. Môžete tu nastavovať vlastnosti/signály prvku, ktorý máte vybratý. Teda napríklad môžete nastaviť titulok okna.

Horná časť Qt Designera obsahuje ovládacie prvky, ktoré možno vložiť na formulár. V ľavej časti nájdete File Overview a Object Explorer. Tento nástroj zobrazuje vzťahy medzi ovládacími prvkami v stromovej štruktúre.
Pred návrhom formuláru by ste mali mať jasnú predstavu, ako bude formulár vyzerať. My si vytvoríme jednoduchý dialóg s pár ovládacími prvkami. Nebude o nič zložitejší ako tie, ktoré sme robili doteraz. Na obrázku nižšie môžete vidieť formulár s naukladanými ovládacími prvkami.

Na formulári nájdete viacero rôznych prvkov. Program bude reagovať na
kliknutie na tlačítko, po ktorom pridá do prvku KListView
obsah KLineEditu a vybraný prvok z KComboBoxu. Po
kliknutí na druhé tlačítko sa dialóg zatvorí. Toto všetko by sme zvládli
určite vytvoriť aj doteraz, určite nie tak pohodlne a jednoducho, ako to
spravíme teraz.
Z menu "Tools", "Display" vyberte položku "QLabel" a kliknite niekde na
formulár. Práve ste "napísali" takýto kód
:
#include <klineedit.h>...KLineEdit *lineEdit;...lineEdit = new KLineEdit("",this);lineEdit->setGeometry(10,55,170,25);Nemusíte sa teraz zaujímať o súradnice, pracne ich "vylaďovať", ale jednoducho myšou môžete posunúť prvok tam, kam treba. Na presnejšie doladenie slúži kombinácia klávesov Ctrl+Šípka. Môžete aj zadať súradnice v Property Editore, pričom zmena sa ihneď premietne aj do výzoru dialógu.
Ďalej uložte na formulár ešte tieto ovládacie prvky:
QGroupBox, KListView a dvakrát
KPushButton tak, ako vidíte na obrázku. Teraz do
QGroupBox vložte prvky: dvakrát QLabel,
KLineEdit a KComboBox. Stromová štruktúra
zobrazovaná v nástroji Object Explorer by mala vyzerať takto:

Teraz môžeme nastaviť vlastnosti ovládacích prvkov, teda zmeniť názov
okna, napísať TextLabel1, TextLabel2,
TextLabel3, názvy tlačítiek a pomenovanie pre
GroupBox1. Vyberte ľubovoľný prvok a v Property Editore
nájdete príslušnú vlastnosť. Nepomýľte si "name" a "caption". Vlastnosť
"name" je názov inštancie, zatiaľčo "caption" je titulok.
Ešte stále náš dialóg nie je dokonalý. Nevyriešil totižto problémy, ktoré som spomínal v minulom dieli. Súradnice sú zadané napevno, takže možno vyzerá dialóg normálne, v prípade iného nastavenia to už tak byť nemusí. Pozrieme sa teda, aké možnosti nám ponúka Qt Designer.
Qt ponúka špeciálne prvky nazvané "spacer". Vhodný slovenský ekvivalent mi nenapadá, preto budem používať anglický originál. Spacere sa správajú ako pružiny, ktoré tlačia alebo ťahajú okolité ovládacie prvky. Základnú vec, ktorú si treba pri používaní spacerov zapamätať je, že najprv začíname správne umiestňovať prvky v horizontálnom smere a potom vo vertikálnom.
Začnem s umiestnením prvku TextLabel1. Pretože ho chcem
mať v strede okna aj v prípade, že užívateľ zmení veľkosť okna, musím okolo
neho vložiť dve "pružiny". V menu "Layout" vyberte "Add Spacer". Kliknite
na ľavo od TextLabel1. Objaví sa menu, kde vyberiete smer,
ktorým má byť spacer orientovaný, zvoľte horizontálne. To isté urobte aj na
pravej strane TextLabelu.
Potom pridajte spacer aj naľavo od tlačítka "Add". Ak ste sa stratili a neviete čo vlastne urobiť, všetko pochopíte z obrázku:

Teraz máme spacere, ktoré vyplnia prázdne miesto. Potrebujem ešte pridať správcov rozloženia. Tie zabezpečia automatické zmeny veľkosti a polohy prvkov pri zmene veľkosti okna.
Na správne umiestnenie prvku TextLabel1 použijeme
horizontálneho správcu rozloženia. Správca bude obsahovať tieto prvky:
Spacer, Label a Spacer. Označte všetky tri prvky naraz. (Držte Shift a
kliknite na všetky tri). V menu "Layout" vyberte "Lay Out Horizontally".
Objaví sa červený obdĺžnik, ktorý orámuje všetky tri objekty. Ak treba,
upravte ešte veľkosť tohoto obdĺžnika. Výsledok by mal vyzerať ako na tomto obrázku. Zopakujte
teraz tento postup pre TextLabel2 a TextLabel3 s
použitím vertikálneho správcu rozloženia a tiež pre KLineEdit1
a KComboBox1. Na dolný spacer a tlačítka použije horizontálne
rozloženie.
Na dokončenie rozloženia potrebujeme vytvoriť ešte jedného správcu rozloženia. Ten bude spravovať ostatné. Použijeme Grid Layout. Kliknite pravým tlačítkom na formulár a z menu vyberte "Lay Out in a Grid" (kliknúť musíte priamo na formulár, teda mimo akýchkoľvek ovládacích prvkov).

Pýtate sa prečo sa k nim opäť vraciam? Pretože sa s nimi dá veľmi
jednoducho pracovať v programe Qt Designer. Na vytvorenie spojenia
signál-slot sa používa nástroj pomenovaný "Connect Signals/Slots". Nájdete
ho v menu Tools alebo po stlačení klávesu F3. Poďme teraz vytvoriť reakciu
na kliknutie na tlačítko "Add". Stlačte F3, kliknite na
KPushButton1 a ťahajte myš nad formulár (teda mimo akéhokoľvek
ovládacie prvku). Po uvolnení ľavého tlačítka myši sa zobrazí dialóg, kde možno editovať
spojenia.
Spomedzi signálov vyberte clicked(). V pravej časti je
ponuka existujúcich slotov. Nám ani jeden nevyhovuje a preto si musíme
vytvoriť nový. Po kliknutí na tlačítko "Edit Slots" sa zobrazí ďalšie
dialógové okno. V ňom kliknite na "New Slot" a vyplňte názov. Potvrďte zadané
údaje.
Teraz v dialógu "Edit Connections" stačí vybrať
slotAddDate() spomedzi slotov. Medzi pripojeniami sa objaví
nový záznam. Potvrďte aj tieto údaje. Vytvoríme ešte spojenie medzi
kliknutím na tlačítko "Close" a slotom close(). Nemusíte
vytvárať nový slot, pretože close() už existuje. Ostáva nám
ešte implementácia metódy slotAddDate(), inak sme už so slotmi
skončili.
Teraz uložíme formulár (ako serial1dlg.ui) na to isté
miesto, ako ste zadávali v KDevelop-e. A môžeme vypnúť Qt Designer a vrátiť
sa konečne k programovaniu
.
Teraz nahradíme predka hlavného okna nami vytvoreným formulárom. Ak by
ste chceli vytvoriť nové okno, ktoré vyzerá tak, ako to navrhnuté, a nie
upravovať už existujúce, postupovali by ste teraz trochu inak. Vytvorili by
ste novú triedu (v ľavej časti programu KDevelop by ste vybrali zoznam
tried a pomocou pravého tlačítka zadali "Nová trieda". Ako základnú triedu
by ste uviedli názov formuláru a takisto treba zaškrtnúť políčko "Generovať
potomka triedy QWidget") V závislosti od toho, ako ste formulár pomenovali
musíte upraviť serial1.h a serial1.cpp. U mňa sa
volá Serial1Dlg. Otvorte serial1.h a doplňte
najprv potrebné hlavičkové súbory:
#include <kapp.h>#include <qwidget.h>#include "serial1dlg.h"#include <qcombobox.h>#include <kcombobox.h>#include <klistview.h>#include <klineedit.h>class Serial1 : public QWidget {Potom nahraďte v riadku číslo 7 predka QWidget za
Serial1Dlg. Zameniť QWidget za naše okno musíte aj v súbore
serial1.cpp v riadku:
Serial1::Serial1(QWidget *parent, const char *name) :
Serial1Dlg(parent, name)Po týchto úpravách by ste mali byť schopný program skompilovať a
spustiť. Malo by fungovať všetko okrem tlačítka "Add". Po kliknutí na neho
by sa malo na štandardnom výstupe pre chyby zobraziť
Serial1Dlg::slotAddData(): Not implemented yet!. Teda musíme
ešte dokončiť obsluhu kliknutia. Do serial1.h pridajte
riadky:
public slots:virtual void slotAddData();A do serial1.cpp pridajte novú metódu:
void Serial1::slotAddData(){QListViewItem *element;element = new
QListViewItem(KListView1, KLineEdit1->text(),
KComboBox1->currentText());}Program môžete skompilovať. Po spustení by mal vyzerať takto:

Dnes sme teda prešli postupne všetkým, čo sme sa naučili doteraz.
Použili sme ale KDevelop a najmä Qt Designer, ktoré dokážu prácu veľmi
uľahčiť. Možno ste sa párkrát stratili a nevedeli ste, že čo vlastne treba
robiť. Buďte si ale istý, že postupne si zvyknete a bez týchto dvoch
programov už nebudete chcieť robiť
Ak by sa Vám niečo nepodarilo,
stiahnite si celý program
(677 kB) a porovnajte, čo robíte zle. V KDevelope otvoríte celý projekt
pomocou súboru serial1.kdevprj.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Mnoho lidi (vcetne me) by rado kprogramovalo, ale nemaji cas slozite zjistovat zakladni veci. Takovahle polopaticka "nalejvarna" je skvela moznost.
napriklad nejaku jednoduchu hru, alebo akukolvek iny program, pricom vytaz by vyhral nejake vase tricka... napr KAbcMines
Tem, kteri znaji Windows architekturu skoro nazpamet (MFC/Win32API, Doc/View architecture, COM+ a buh vi co jeste Microsoft vymysli, tedy VisualC++) tento clanek a jemu podobne chybi. Myslim, ze autor si to uvedomil, a jsem rad, ze se nam windowsakum snazi priblizit "VisualC++ resource utilities" pod Linuxem.
Jiz delsi dobu uvazuju nad "QT". Prece jen u C++ je prechod na jinou platformu hlavne zalezitosti ucit se nove knihovny (na rozdil od vyssich/omezenych programovacich jazyku jako treba Java ci VisualBasic a dalsi). V QT zacinam citit tu multiplatformni podporu. Proto by kazdeho takovehoto nadsence zajimaly hlavne zakladni veci, jako je primitivni vytvareni woken za pomoci ceho... Takze jsem rad, ze jsem takovyto clanek tady nasel.
V dnesni dobe jde nejcasteji o vyvoj tzv. aplikaci, tzn. woken (GUI). To je zaklad pro predstaveni funkcnosti nove aplikace uzivateli, ktereho musite presvedcit o kvalite vasi aplikace. Konzolim uz davno odzvonilo. Ano, Linux sice stale neco takoveho podporuje (coz nevidim jako problem), ale je to uz prezitek, kterym normalniho uzivatele nenadchnete, a uz vubec ne pod Linuxem.
Takze k tomuto clanku: diky za vysvetlovani, a hlavne dalsi pokracovani tohoto serialu.
Chtelo by to najit tu dokumentaci ke knihovnam (tedy ted Qt). Nejlepe ve formatu PDF ci SXW.
Opravdu existuje jen v HTML?