Qt setlayout segmentation fault – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Qt setlayout segmentation fault – C / C++ – Fórum – Programujte.comQt setlayout segmentation fault – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
9. 1. 2013   #1
-
0
-

Ahoj,soucasti meho serveru v QT je jednoduche gui,prvky jsou dany do horizontalniho  layoutu,obsah kazdeho layoutu se vlozi na samostatny widget ,ty se pridaji do vertikalniho layoutu a ten se nasledne nestavi jako hlavni layout pro cele okno. vysledkem je okno co ma 2 polozky vertikalne a 5 horizontalne. proc do jde jenom tak slozite netusim. ale k problemu.. ono to nefunguje. vsechno funguje jak ma,vytvorim polozky,vlozim do layoutu ale pri pokusu dat obsah layoutu na widget ( aby byl samostatny widget na jeden radek) to spadne. prikladam kod.

 gui.cpp :

#include "gui.h"
gui::gui ()
{
	QPushButton * kickClient=new QPushButton ("vykopnout klienta");
	QPushButton *kickAllClients=new QPushButton ("vykopnout vsechny klienty");
	QPushButton *sendMsg=new QPushButton ("posli zpravu");
	QPushButton *startServer=new QPushButton ("nastartovat");
	QPushButton *stopServer=new QPushButton ("stop");
	QHBoxLayout *layout=new QHBoxLayout ();
	QHBoxLayout * layout2=new QHBoxLayout ();
	QVBoxLayout * Vlayout=new QVBoxLayout ();
	QComboBox * listClients=new QComboBox ();
	QLineEdit * adresaEdit=new QLineEdit ();
	QLineEdit *portEdit=new QLineEdit ();
	QWidget * widget=new QWidget (this);
	QWidget * widget2=new QWidget (this);
	widget->show ();
	layout->addWidget (kickClient);
	layout->addWidget (kickAllClients);
	layout->addWidget (sendMsg);
	layout->addWidget (startServer);
	layout->addWidget (stopServer);
	layout->addWidget (listClients);
	layout2->addWidget (adresaEdit);
	layout2->addWidget (portEdit);
	layout2->addWidget (nastavit);
	widget->setLayout (layout);
	widget2->setLayout (layout2);
	Vlayout->addWidget (widget);
	Vlayout->addWidget (widget2);
	this->setLayout (Vlayout);
	show ();
}

gui.h :

#ifndef GUI
#define GUI
#include "header.h"

class gui:public QWidget
{
	Q_OBJECT
private:
	QWidget *widget,*widget2;
	QComboBox * listClients;
	QPushButton * kickClient,*kickAllClients,*sendMsg,*startServer,*stopServer,*nastavit;
	QHBoxLayout * layout,*layout2;
	QVBoxLayout * Vlayout;
	QTextBrowser * stavovyText;
	QLineEdit * adresaEdit,*portEdit;
public:
	gui ();
};
#endif GUI

header.h :

#ifndef HEADER
#define HEADER
#include <QtWidgets\qlineedit.h>
#include <QtNetwork\qtcpserver.h>
#include <QtNetwork\qtcpsocket.h>
#include <QtWidgets\qapplication.h>
#include <QtCore\qmap.h>
#include <QtCore\qbytearray.h>
#include <QtNetwork\qhostaddress.h>
#include <QtCore\qdatastream.h>
#include <QtCore\qtextstream.h>
#include <QtCore\qfile.h>
#include <QtWidgets\qpushbutton.h>
#include <qtwidgets\qlayout.h>
#include <QtWidgets\qcombobox.h>
#include <QtWidgets\qtextbrowser.h>
#include "gui.h"
#endif HEADER

na zaver se chcu zeptat,lze to udelat lip? prehledl sem nejakou mnohem snadnejsi a rychlejsi moznost? dekuju za odpovedi.

Nahlásit jako SPAM
IP: 86.49.56.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Ld - segmentation fault — založil Zelenáč

Segmentation fault 11 — založil Tomas678

Segmentation fault — založil Gadael

Qtcpsocket read write vytvari nove vlakno? — založil rodinne.baleni.ryze

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý