Zhodnocení sluchátek Koss KE5K

SluchátkaPřibližně před několika lety jsem v soutěži jedné tabákové společnosti vyhrál sluchátka, která jsem až do nedávna používal. Zcela znenadání mě však opustila a vypověděla svoji funkci. Při nejbližší příležitosti jsem proto prošel několik prodejen s elektronikou a hledal vhodnou náhradu. Vědomě jsem se přitom zaměřil na nižší cenovou kategorii a nakonec si i vybral model Koss KE5K. Za pouhých 180 Kč jsem získal výrobek od známé společnosti Koss včetně doživotní záruky. Na následujících řádcích se proto s vámi podělím o zkušenosti z používání dotyčného produktu. Řadu sluchátek jsem již na uších měl, a proto si myslím, že si můžu dovolit učinit malé srovnání. Nejsem ale žádný odborník či audiofil, takže s mými subjektivními názory někteří lidé souhlasit nemusí. Dokládají to ostatně i zcela odlišná zhodnocení samotných majitelů, která kolují různě po internetu. Méně náročným osobám model Koss KE5K vyhovuje, jiní zákazníci si stěžují na nedostatečné zvukové podání a doporučují se poohlédnout po dražší alternativě.

Vzhled a zpracování

V nedobytně zabalené krabičce se skrývají po designové stránce vyhovující sluchátka. Na všech důležitých místech vypadají spoje bytelně a pravděpodobně i něco vydrží. Na 3,5 milimetrovém jacku spatříme malé logo Koss, podobně jako i na obou sluchátkách. Zde dále orientaci usnadňují písmena L (left) i R (right) rozlišující použití pro levé a pravé ucho. Pod bradou se o rozdělení bužírek postará tvar V. Spojení naštěstí nemá tendenci se rozjíždět. Plastová zarážka se totiž nachází až poměrně hodně nízko.

Zvukové podání

Model Koss KE5K rozhodně předčí čínské levné modely sluchátek. Podle mého názoru jasně poráží i příslušenství dodávané k mobilním telefonům Nokia v případě série 40. Lépe totiž izoluje okolní šum a hudbu si více vychutnáte. Sluchátka Koss rovněž nezaskočí vyšší hlasitost, spíše naopak. Zdá se mi, jakoby ještě více vynikla. Zapomeňte například na nepříjemné chrčení, praskání a jiné příznaky docházejícího dechu. Snažím se však své uši šetřit, a proto podobné vlastnosti pro mě přílišný význam nemají.

Závěrečné zhodnocení

Za zmíněnou cenu bych sluchátka Koss KE5K klidně koupil znovu. V blízké budoucnosti si však chci pořídit legendární produkt Koss Porta Pro, který levnější model patrně výrazně předčí. Jako náhrada ztraceného příslušenství k MP3 přehrávači však Koss KE5K výborně poslouží.

Qt – tabulka

Pakliže potřebujete v programu prezentovat více údajů podobného charakteru, hodí se skvěle ke splnění takového úkolu běžná tabulka. V případě přehledně navržené struktury představuje jen obtížně porazitelného pomocníka pro rychlé seznámení s daty. Právě proto v tomto článku vytvoříme aplikaci, jenž umožní zadat větší počet těch nejzákladnějších osobních údajů (jméno a příjmení). Protože však samotné přidávání informací do tabulky bez následujícího zpracování příliš smysl nemá, bude i názorně demonstrováno jak k jednotlivým buňkám v kódu přistoupit a využít jejich obsah.

Qt - tabulka

QTableWidget

Pokud si do vyhledávacího pole v návrhářském režimu zadáte termín „table“, zjistíte, že takové podmínce odpovídají hned dva prvky – Table View a Table Widget. V našem programu využijeme ten druhý jmenovaný. Důvodem je především způsob zpracování metod třídy QTableWidget. Do karet dále nahrává množství funkcí oproti QTableView.

Důležitou součást každé správné tabulky symbolizuje horní hlavička. Právě ona totiž dává samotným údajům smysl. O její nastavení se postará setHorizontalHeaderLabels(QStringList). V parametru však vyžaduje list typu QstringList. Právě proto jej nejprve musíme vytvořit a vložit do něj přes append samotné popisky. Během programování rovněž nezapomeňte určit počet sloupců naší tabulky. Krásně k tomuto účelu poslouží počet prvků v listu.

Přidání řádku probíhá obdobně. Jednoduše jej vložíte za aktuální poslední záznam díky metodě insertRow(int). Množství používaných řádků vám přitom prozradí rowCount().

Zpracování informací

K procházení veškerých buněk v tabulce využijeme iterační cyklus, jehož proměnná bude reprezentovat daný řádek. Specifikaci sloupce poté můžeme provést staticky s pomocí proměnné typu int. Obsah buňky následně vrátí metoda item(int, int) avšak jako QtableWidgetItem *. Kýžený QString poté zprostředkuje text().

#include „widget.h“
#include „ui_widget.h“

#include

widget::widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::widget)
{
ui->setupUi(this);

QStringList list;
list.append(„Jméno“);
list.append(„Příjmení“);
ui->tableWidget->setColumnCount(list.size());
ui->tableWidget->setHorizontalHeaderLabels(list);

setWindowTitle(„Tabulka“);

connect(ui->pb_info,SIGNAL(clicked()),this,SLOT(vypsat_info()));
connect(ui->pb_pridat,SIGNAL(clicked()),this,SLOT(pridat_radek()));
}

widget::~widget()
{
delete ui;
}

void widget::pridat_radek()
{
ui->tableWidget->insertRow(ui->tableWidget->rowCount());
}

void widget::vypsat_info()
{
for(int i = 0; i < ui->tableWidget->rowCount();i++)
{
QMessageBox::information(this,QString::number(i+1)+“. řádek“,“Jméno: „+
ui->tableWidget->item(i,0)->text()+“\n“+
„Příjmení: „+
ui->tableWidget->item(i,1)->text()
);
}
}

Qt – propojování signálů a slotů

Tento článek bude sice laděn poněkud obecněji, stoprocentně však nabyté informace využijete. A nebo si snad dokážete představit komplexnější okenní program, který by fungoval bez vzájemného propojení signálů a slotů? Jakmile se ve vašem programu objeví jediné tlačítko, položka v menu či jiný libovolný prvek, vždy musíte určit, jaká činnost se po jeho aktivaci nebo stisknutí provede. Tuto specifikaci lze přitom provést několika rozdílnými způsoby.

Grafické propojení

Tuto formu sjednocení signálů a slotů zmíním jen okrajově, protože dle mého názoru dokáže spíše práci znesnadnit. Jedinou možnou výhodu vidím ve znázornění principu odesílání zpráv a jejich zachytávání. Začátečník tak celou ideu patrně lépe pochopí. Vyzkoušet si tuto variantu můžete v návrhářském režimu po stisknutí F4, kdy tažením myši určíte zdroj signálu a příslušný cíl. Záhy však pravděpodobně přijdete o přehlednost a snadnou editaci.

Grafické propojení

Signals & Slots Editor

Velmi sofistikovaný nástroj se skrývá rovněž v designérském módu pod příslušnou záložkou. Zeleným tlačítkem plus zahájíte vytvoření nového spojení. Na určitou nevýhodu však brzy narazíte. Pakliže například naprogramujete vlastní slot, neobjeví se v rozevíracím seznamu. Nejprve jej s pomocí funkce Change signals/slot musíte do příslušné části ručně vepsat. Když si však přesně nepamatujete identifikátor, nezbývá, než se přepnout do zdrojového kódu a dotyčný název vyhledat. Já osobně například chvílemi přemýšlím, zda-li jsem slot pojmenoval jako uloz, ulozit či snad Ulozit :-).

Editor signálů a slotů

Connect

Syntaxe určení závislosti mezi signálem a koncovým cílem zapsaná ve zdrojovém kódu patrně na první pohled nevypadá pro lidi začínající s Qt příliš lákavě. Nejde však o nic složitého a velmi záhy si na funkci connect dokážete zvyknout. Obvykle se stačí dobře seznámit s makry SIGNAL() a SLOT(). Editor vám navíc vždy ochotně napoví.

connect(ui->pb_barva,SIGNAL(clicked()),this,SLOT(barva()));