• 7185阅读
  • 2回复

[讨论]Qt布局显示问题 [复制链接]

上一主题 下一主题
离线10jschen
 

只看楼主 倒序阅读 楼主  发表于: 2012-11-20
关键词: 求助
  1. //tablewidget1.cpp
  2. #include "widget.h"
  3. #include "ui_widget.h"
  4. Widget::Widget(QWidget *parent) :
  5.     QWidget(parent),
  6.     ui(new Ui::Widget)
  7. {
  8.     ui->setupUi(this);
  9.     setWindowTitle(tr("TableWidget"));
  10.     layout = new QVBoxLayout(this);
  11.     tableWidget = new QTableWidget(this);
  12.     tableWidget->setRowCount(2);
  13.     list << QString("性别") << QString("姓名") << QString("出生日期") << QString("职业") << QString("收入");
  14.     tableWidget->setHorizontalHeaderLabels(list);
  15.     label = new QLabel(tableWidget);
  16.     label->setPixmap(QPixmap("C:/Users/Administrator/Desktop/Qt/tablewidget1/a.png"));
  17.     tableWidget->setCellWidget(1, 0, label);
  18.     item = new QTableWidgetItem(tr("Tom"));
  19.     tableWidget->setItem(1, 1, item);
  20.     datetime = new QDateTimeEdit(tableWidget);
  21.     datetime->setDateTime(QDateTime::currentDateTime());
  22.     datetime->setDisplayFormat("dd/M/yyyy");
  23.     datetime->setCalendarPopup(true);
  24.     tableWidget->setCellWidget(1, 2, datetime);
  25.     combox = new QComboBox(tableWidget);
  26.     combox->addItem(tr("工人"));
  27.     combox->addItem(tr("农民"));
  28.     combox->addItem(tr("医生"));
  29.     tableWidget->setCellWidget(1, 3, combox);
  30.     spinBox = new QSpinBox(tableWidget);
  31.     spinBox->setRange(1000, 10000);
  32.     tableWidget->setCellWidget(1, 4, spinBox);
  33.     layout->addWidget(tableWidget);
  34.     setLayout(layout);
  35. }
  36. Widget::~Widget()
  37. {
  38.     delete ui;
  39. }
  1. //tablewidget.h
  2. #ifndef WIDGET_H
  3. #define WIDGET_H
  4. #include <QWidget>
  5. #include <QtGui>
  6. #include <QtCore>
  7. namespace Ui {
  8.     class Widget;
  9. }
  10. class Widget : public QWidget
  11. {
  12.     Q_OBJECT
  13. public:
  14.     explicit Widget(QWidget *parent = 0);
  15.     ~Widget();
  16.     QTableWidget *tableWidget;
  17.     QStringList list;
  18.     QVBoxLayout *layout;
  19.     QTableWidgetItem *item;
  20.     QLabel *label;
  21.     QDateTimeEdit *datetime;
  22.     QComboBox *combox;
  23.     QSpinBox *spinBox;
  24. private:
  25.     Ui::Widget *ui;
  26. };
  27. #endif // WIDGET_H

  1. //ui_widget.h
  2. #ifndef UI_WIDGET_H
  3. #define UI_WIDGET_H
  4. #include <QtCore/QVariant>
  5. #include <QtGui/QAction>
  6. #include <QtGui/QApplication>
  7. #include <QtGui/QButtonGroup>
  8. #include <QtGui/QHeaderView>
  9. #include <QtGui/QWidget>
  10. QT_BEGIN_NAMESPACE
  11. class Ui_Widget
  12. {
  13. public:
  14.     void setupUi(QWidget *Widget)
  15.     {
  16.         if (Widget->objectName().isEmpty())
  17.             Widget->setObjectName(QString::fromUtf8("Widget"));
  18.         Widget->resize(400, 300);
  19.         retranslateUi(Widget);
  20.         QMetaObject::connectSlotsByName(Widget);
  21.     } // setupUi
  22.     void retranslateUi(QWidget *Widget)
  23.     {
  24.         Widget->setWindowTitle(QApplication::translate("Widget", "Widget", 0, QApplication::UnicodeUTF8));
  25.     } // retranslateUi
  26. };
  27. namespace Ui {
  28.     class Widget: public Ui_Widget {};
  29. } // namespace Ui
  30. QT_END_NAMESPACE
  31. #endif // UI_WIDGET_H



运行界面为:




不知道为什么会这样显示,求救!!!

离线10jschen

只看该作者 1楼 发表于: 2012-11-20
主要是想在tableWidget中插入一些Item
离线jdwx

只看该作者 2楼 发表于: 2012-11-20
回 1楼(10jschen) 的帖子
有没有设置columnCount?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个