abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:43 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    včera 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 15
    včera 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    14.7. 19:33 | Nová verze

    3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:55 | Zajímavý software

    SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.

    Ladislav Hagara | Komentářů: 0
    14.7. 12:44 | Nová verze

    Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2134 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: QT - vkladani vlastniho widgetu

    7.12.2005 14:20 Elsik
    QT - vkladani vlastniho widgetu
    Přečteno: 320×
    Ahoj udelal sem si hlavni okno MainWindows v nem sem si udelal LayoutGrid a ted to neho postupne vkladam predmety, udelel asem si vlastni widget ale kdyz ho tam pomoci addWidget pridam tak ta se tam sice prida ale protoze nakonci tam davam jeste spacer aby se mi to zarovnalo nahoru tak se ten muj widget uplne smrti na 0 pixelu. Nevite proc? Nevite jak nastavit jeho nejakou velikost aby to ten spacer nemohl takhle zmensit? Dekuji.

    Odpovědi

    7.12.2005 16:25 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    jestlize je to potomek QWidgetu, tak tam muzes pouzit nsatevni velikosti pres setMinimumXXXX(), setGeometry() nebo pres "size hinty":

    http://doc.trolltech.com/3.3/qwidget.html
    Kuolema Kaikille (Paitsi Meille).
    7.12.2005 17:21 Elsik
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    Dekuji, uz vim jak na to. Ale nastal dalsi problem potrebuju se z toho widgetu dostat nejakym pointrem na hlavni okno kde bude vlozen. V tom widgetu mohl nastavit uz nejaky connecty treba. Jde to nejak? Mozna ze je to blbost se odkazovat na neco co jeste neexistuje ale docela by mi to usnadnilo praci:] Any idea?:]
    7.12.2005 19:42 shamot
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    pointer na hlavni okno: a] qApp->mainWidget(); kde qApp je globalni poiner na instanci QApplication (ta promenna qApp vzdycky existuje, nemusi se definovat) b] kazdemu widgetu se v konstruktoru predava odkaz na rodicovsky widget (parent), tak toho by se dalo vyuzit

    connecty: Pokud potrebujes neco propojit s MainWindow, nejlepe zavolat connect() na urovni tridy QMainWindow, treba v jejim konstruktoru. Stejne ostatni pod-widgety konstruujes z nejake funkce QMainWindow (napr z konstruktoru).
    7.12.2005 20:10 Elsik
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    Pravda to me nenapadlo:] dekuju pouziju. Necekane mam dalsi dotaz. Proc se mi ted widget nezobrazi po kliknuti na tlacitko Adapters v ten ScrollArea. Nastavi se spravne ten scroll bar ale widget se nezobrazi. kdyz zavolam to addWidget az po vytvoreni "window" tak to jde. nechybi mi tam neco jako repaint nebo update? Dekuji
    #include 
    #include "window.h"
    #include "windowadapters.h"
    #include "adapters_compont.h"
    
    MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
        {
    	window = NULL;
    	uii.setupUi(this);
    	
    	connect(uii.actionExit, SIGNAL(triggered()), this, SLOT(close()));
    	
    	//  -----------------------------------------------------------------------------
    
    	QPushButton * adapterButton = new QPushButton;
    	adapterButton->setText("Adapters");
    	uii.vboxLayout->addWidget(adapterButton);
    	connect(adapterButton, SIGNAL(clicked()), this, SLOT(ShowAdapters()));
    		
    	QPushButton * eraseButton = new QPushButton;
    	eraseButton->setText("Erase");
    	uii.vboxLayout->addWidget(eraseButton);
    	connect(eraseButton, SIGNAL(clicked()), this, SLOT(WindowErase()));
    	
    	QPushButton * exitButton = new QPushButton;
    	exitButton->setText("Exit");
    	uii.vboxLayout->addWidget(exitButton);
    	connect(exitButton, SIGNAL(clicked()), this, SLOT(close()));
    	
    	QSpacerItem * spacer1 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
    	uii.vboxLayout->addItem(spacer1);
    	
    	scrollArea = new QScrollArea;
    	uii.vboxLayout1->addWidget(scrollArea);
    	
    	// ---------------------------------------------------------------------
    	
        }
    
    void MainWindow::ShowAdapters()
        {
    	if(window==NULL)
    	{
    	    window = new windowadapters;
                scrollArea->takeWidget();    
    	    scrollArea->setWidget(window);
                scrollArea->setWidgetResizable(window);
    	}
        }
    
    void MainWindow::WindowErase()
        {	
    	if(window!=NULL)
    	{	
    	    window->close();
                window=NULL;
    	}
    	
        }
    
    7.12.2005 20:30 shamot
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    a] tento radek je podezrely... proc je tam vboxLayout1, kdyz pred tim pouzivas vboxLayout uii.vboxLayout1->addWidget(scrollArea);

    b] nechtelo by to neco jako

    window->show();

    nebo

    uii.update();
    7.12.2005 20:36 Elsik
    Rozbalit Rozbalit vše Re: QT - vkladani vlastniho widgetu
    a] je to vertikalni layout prvni pro menu a druhy pro ten scrollarea b] to update jsem zkousel nepomohlo

    add] upravil sem to takhle ale prijde mi zbytecny to mazat, nesel by lepsi zpusob? po tom erase tam klidne ten scrollarea muze zustat jen aby se vypraznil a potom nahral zase dalsi widget (ted stejny ve vysledku jiny)
    #include QtGui>
    #include "window.h"
    #include "windowadapters.h"
    #include "adapters_compont.h"
    
    MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
        {
    	window = NULL;
    	uii.setupUi(this);
    	
    	connect(uii.actionExit, SIGNAL(triggered()), this, SLOT(close()));
    	
    	//  -----------------------------------------------------------------------------
    
    	QPushButton * adapterButton = new QPushButton;
    	adapterButton->setText("Adapters");
    	uii.vboxLayout->addWidget(adapterButton);
    	connect(adapterButton, SIGNAL(clicked()), this, SLOT(ShowAdapters()));
    		
    	QPushButton * eraseButton = new QPushButton;
    	eraseButton->setText("Erase");
    	uii.vboxLayout->addWidget(eraseButton);
    	connect(eraseButton, SIGNAL(clicked()), this, SLOT(WindowErase()));
    	
    	QPushButton * exitButton = new QPushButton;
    	exitButton->setText("Exit");
    	uii.vboxLayout->addWidget(exitButton);
    	connect(exitButton, SIGNAL(clicked()), this, SLOT(close()));
    	
    	QSpacerItem * spacer1 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
    	uii.vboxLayout->addItem(spacer1);
    	
    	// ---------------------------------------------------------------------
    	
        }
    
    void MainWindow::ShowAdapters()
        {
    	if(window==NULL)
    	{
    	    scrollArea = new QScrollArea;	
    	    window = new windowadapters;
     	    scrollArea->setWidget(window);
                scrollArea->setWidgetResizable(window);
    	    uii.vboxLayout1->addWidget(scrollArea);
    	}
        }
    
    void MainWindow::WindowErase()
        {	
    	if(window!=NULL)
    	{	
    	    window->close();
    	    window=NULL;
    	    delete scrollArea;	
    	}
        }
    
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.