Advertentie

Auteur Topic: Zonder Qt Designer iets volledig handmatig skinnen  (gelezen 638 keer)

Offline GroundZero

  • Zeer actief lid
  • *****
  • Berichten: 381
  • Aantal ++: 5
    • Devbizz - webdevelopment
Zonder Qt Designer iets volledig handmatig skinnen
« Gepost op: januari 18, 2012, 18:51:09 pm »
Beste,

kan iemand mij vertellen hoe je goed moet skinnen? het lukt mij namelijk niet.
Mijn code als volgt:

Code: C++ (QT)
  1. #include <QApplication>
  2. #include <QWidget>
  3. #include <QLineEdit>
  4. #include <QSpinBox>
  5. #include <QSlider>
  6. #include <QTextEdit>
  7. #include <QLabel>
  8. #include <QPushButton>
  9. #include <QGroupBox>
  10. #include <QProgressBar>
  11. #include <QIcon>
  12. #include <QtGui>
  13. #include <QHBoxLayout>
  14. #include <QVBoxLayout>
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18.     QApplication application(argc, argv);
  19.  
  20.     QWidget *mainWidget = new QWidget;
  21.     mainWidget->setWindowTitle("All-in-one Company Pack");
  22.     mainWidget->setWindowIcon(QIcon("C:/favicon.png"));
  23.     mainWidget->setFixedWidth(800);
  24.  
  25.     // create widgets
  26.     QLabel *customerNameTag = new QLabel;
  27.     customerNameTag->setText("Naam:");
  28.     customerNameTag->setFixedWidth(100);
  29.     QLineEdit *customerName = new QLineEdit;
  30.     customerName->setFixedWidth(250);
  31.  
  32.     QLabel *customerSurnameTag = new QLabel;
  33.     customerSurnameTag->setText("Achternaam:");
  34.     customerSurnameTag->setFixedWidth(100);
  35.     QLineEdit *customerSurname = new QLineEdit;
  36.  
  37.     QLabel *customerStreetTag = new QLabel;
  38.     customerStreetTag->setText("Straat:");
  39.     customerStreetTag->setFixedWidth(100);
  40.     QLineEdit *customerStreet = new QLineEdit;
  41.  
  42.     QLabel *customerPostalTag = new QLabel;
  43.     customerPostalTag->setText("Postcode:");
  44.     customerPostalTag->setFixedWidth(100);
  45.     QLineEdit *customerPostal = new QLineEdit;
  46.  
  47.     QLabel *customerTelephoneTag = new QLabel;
  48.     customerTelephoneTag->setText("Telefoon:");
  49.     customerTelephoneTag->setFixedWidth(100);
  50.     QLineEdit *customerTelephone = new QLineEdit;
  51.  
  52.     QLabel *customerMobileTag = new QLabel;
  53.     customerMobileTag->setText("Mobiel:");
  54.     customerMobileTag->setFixedWidth(100);
  55.     QLineEdit *customerMobile = new QLineEdit;
  56.  
  57.     QLabel *customerWebsiteTag = new QLabel;
  58.     customerWebsiteTag->setText("Website:");
  59.     customerWebsiteTag->setFixedWidth(100);
  60.     QLineEdit *customerWebsite = new QLineEdit;
  61.  
  62.     QLabel *customerInfoTag = new QLabel;
  63.     customerInfoTag->setText("Informatie:");
  64.     customerInfoTag->setFixedWidth(100);
  65.     QTextEdit *customerInfo = new QTextEdit;
  66.  
  67.     QLabel *customerTickets = new QLabel;
  68.     QLabel *customerTicketsOpen = new QLabel;
  69.     QLabel *customerTicketsClosed = new QLabel;
  70.  
  71.     // box layout settings
  72.     QVBoxLayout *mainBox = new QVBoxLayout;
  73.  
  74.     QHBoxLayout *boxTopLeft = new QHBoxLayout;
  75.     boxTopLeft->addWidget(customerNameTag);
  76.     boxTopLeft->addWidget(customerName);
  77.  
  78.     QHBoxLayout *boxTopRight = new QHBoxLayout;
  79.  
  80.     mainBox->addLayout(boxTopLeft);
  81.     mainBox->addLayout(boxTopRight);
  82.  
  83.     // connect it to the main widget
  84.     mainWidget->setLayout(mainBox);
  85.  
  86.     // show the mainWidget
  87.     mainWidget->show();
  88.  
  89.     return application.exec();
  90. }

Probleem is dat het er zo uit komt:


Maar ik wil dit hebben:
Code: C++ (QT)
  1. http://img843.imageshack.us/img843/4775/39699917.png

Dat is uiteraard wanneer ik er 2 naast elkaar plaats ;)

Maar hoe kan en moet ik dit precies doen? ik snap niet hoe ik een spacer kan maken (tussen ruimte) en
hoe die QHBoxLayout en QVBoxLayout werken.

Hopelijk kan iemand het mij vertellen ;)



EDIT: Laat ik het anders zeggen. Stel dat ik dit resultaat wil bereiken: http://thelins.se/learnqt/wp-content/uploads/layouts-grid.png
Hoe moet ik dat klaar spelen?

Twee QHBoxLayout naast elkaar, of zo en dan.... ???
« Laatst bewerkt op: januari 18, 2012, 22:35:28 pm door GroundZero »

Offline GroundZero

  • Zeer actief lid
  • *****
  • Berichten: 381
  • Aantal ++: 5
    • Devbizz - webdevelopment
Re: Zonder Qt Designer iets volledig handmatig skinnen
« Reactie #1 Gepost op: januari 23, 2012, 13:34:09 pm »
Niemand die mij dit kan uitleggen en -of een goede online tutorial weet waarin het je goed geleerd word?
Ik wil dus zonder Qt Designer leren hoe je zo'n mooie interface kunt maken zeg maar dat je echt alles 100% zelf met
de hand kan scripten en dus ook open ruimtes kunt behouden ergens, dingen onder elkaar plaatsen, naast elkaar, en noem
de hele mik mak maar op :)

Advertentie