首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

施用布局后看不见窗口部件

2012-08-14 
使用布局后看不见窗口部件我的源代码是实现文件C/C++ code#include QtGui#include MyMainWindow.h// p

使用布局后看不见窗口部件
我的源代码是
实现文件

C/C++ code
#include <QtGui>#include "MyMainWindow.h"// place your code hereMyMainWindow::MyMainWindow(){    textEdit = new QTextEdit;     friendView = new QTreeView;     messageView = new QTextBrowser;         QVBoxLayout *rightLayout = new QVBoxLayout;    rightLayout->addWidget(messageView);    rightLayout->addWidget(textEdit);        QVBoxLayout *leftLayout = new QVBoxLayout;    leftLayout->addWidget(friendView);            QHBoxLayout *mainLayout = new QHBoxLayout ;    mainLayout->addLayout(leftLayout);    mainLayout->addLayout(rightLayout);        setLayout(mainLayout);            createActions();    createMenus();}void MyMainWindow::createActions(){    exitAction = new QAction(tr("E&xit"), this);    exitAction->setShortcut(tr("Ctrl+Q"));    exitAction->setStatusTip(tr("Exit the application"));    connect(exitAction, SIGNAL(triggered()), this, SLOT(close()));}void MyMainWindow::createMenus(){    fileMenu = menuBar()->addMenu(tr("&File"));    fileMenu->addAction(exitAction);}

头文件
C/C++ code
#ifndef __MYMAINWINDOW_H__#define __MYMAINWINDOW_H__// place your code here#include <QMainWindow>class QAction; class QTextEdit;class QTextBrowser;class QTreeView;class QVBoxLayout;class QHBoxLayout;class MyMainWindow : public QMainWindow{    Q_OBJECTpublic:    MyMainWindow();private:    void createActions();    void createMenus();    QMenu *fileMenu;    QAction *exitAction;    QTextEdit *textEdit;    QTextBrowser *messageView;    QTreeView *friendView; }; 

主文件
C/C++ code
#include <QApplication>#include "MyMainWindow.h"int main(int argc, char *argv[]){    QApplication app(argc, argv);    MyMainWindow mainWin;    mainWin.show();    return app.exec();}

运行之后,看不到
QTextEdit *textEdit;
QTextBrowser *messageView;
QTreeView *friendView;

[解决办法]
使用setSizePolicy解决。
[解决办法]
探讨

我刚才查了一下,是因为QMainWindow有特定的布局,所以其他的布局不起作用,不知是不是这个问题

热点排行