• 4929阅读
  • 0回复

[原创]一个菜鸟的Qt学习笔记(2)-简单的Layout [复制链接]

上一主题 下一主题
离线dagobert1989
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-14
— 本帖被 XChinux 执行加亮操作(2011-01-14) —
我是一个菜鸟,我觉得对于菜鸟来说看《Qt4 GUI》还是比较难理解的。
在这里我推荐两个资源:
1.豆子空间-这个博客上的内容非常不错:http://devbean.blog.51cto.com/448512/193918
2.官方的QtTraining资料http://qt.nokia.com/developer/learning/online/training/materials
我完成了它里面的第一个实验:lab-firstapp.
要实现的功能是这样的UI:

Flickr 上 b59720e83b31ada418f04613f4e2408dScreenshot
代码如下:
  1. #include <QtGui>
  2. int main(int argc, char *argv[])
  3. {
  4.     QApplication app(argc, argv);
  5.     QWidget window; // our top-level window
  6.     //your code here...
  7.     QLabel *itemLabel=new QLabel("Item");
  8.     QLineEdit *lineEdit=new QLineEdit();
  9.     QLabel *itemlistLabel=new QLabel("ItemList");
  10.     QPushButton *addPushButton=new QPushButton("Add");
  11.     QTextEdit *textEdit=new QTextEdit();
  12.     //widget layout
  13.     QHBoxLayout *inner=new QHBoxLayout();
  14.     inner->addWidget(itemLabel);
  15.     inner->addWidget(lineEdit);
  16.     inner->addWidget(addPushButton);
  17.     QVBoxLayout *outer=new QVBoxLayout();
  18.     outer->addLayout(inner);
  19.     outer->addWidget(itemlistLabel);
  20.     outer->addWidget(textEdit);
  21.     window.setLayout(outer);
  22.     // ... your code here
  23.     window.resize(480, 640);
  24.     window.show();
  25.     return app.exec();
  26. }

要注意的地方:
1.  outer->addLayout(inner);一开始我写的是addWidget,程序报错还不知道怎么回事。
2.Layout可以嵌套使用,要学会这个。
[ 此帖被dagobert1989在2011-01-14 15:50重新编辑 ]
快速回复
限100 字节
 
上一个 下一个