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 13:44 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 9
    včera 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 3
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 12
    1.3. 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 15
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (12%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 999 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: QT - vkladani vlastniho widgetu

    7.12.2005 14:20 Elsik
    QT - vkladani vlastniho widgetu
    Přečteno: 282×
    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.