您的位置:首页 > 编程语言 > Qt开发

第一个简单的qt程序

2013-01-24 17:44 141 查看
简单备份一下第一个qt程序用到的东西:

1.使用中文,关于中文转换有几个同事也经常遇到问题,有时候也不知道哪里出了问题,

中文显示就是不正常,还要从编译库了等细节问题上不要出问题:

 QTextCodec *codec = QTextCodec::codecForName("gb2312");

 QTextCodec::setCodecForTr(codec);

然后QWidget::tr("你好")就会返回你好的编码。

2.QGridLayout基于二维单元格,这里设置了设置列值比例,添加控件时设置好起始坐标:

  QGridLayout *gridLayout = new QGridLayout;

   //列值比例为1:3

   gridLayout->setColumnStretch(0, 1);

   gridLayout->setColumnStretch(1,3);

   //设置边界为10

   gridLayout->setMargin(10);

   //将cbo_speed添加到QGridLayout

 gridLayout->addWidget(cbo_speed, 0, 1);

还有QHBoxLayout *bomLayout = new QHBoxLayout;是实例化一个QHBoxLayout布局管理器;

HorizontalLayouts and Vertical Layouts,水平和垂直布局;一个界面里只能有一个主

布局管理器,其他的布局管理器和组件都要放入其中;

在程序中实例化一个布局管理器,然后把控件添加到里面就可以了。

3.QComboBox的使用:

 cbo_speed = new QComboBox();

  //往cbo_speed中添加Item

  cbo_speed->addItem(QWidget::tr("060"));               

  //在第九行插入一个Item并增加一个分割线              

  cbo_speed->insertItem(9, tr("插入"));

  cbo_speed->insertSeparator(9);

  //将cbo_speed添加到QGridLayout

 gridLayout->addWidget(cbo_speed, 0, 1);

使用其中的文字用cbo_speed->currentText().toAscii().data();

设置或添加使用cbo_speed->setItemText(0,(const char *)buf); 

4.添加主窗口

    //添加一个主窗口

  QWidget *mainWidget = new QWidget;

  mainWidget->setLayout(mainLayout);

  //使用这个函数加载当前界面,可以切换界面

  setCentralWidget(mainWidget);  

切换界面更好的方法:

  QStackedWidget *pagesWidget; 

  pagesWidget  = new QStackedWidget; 

  pagesWidget->addWidget(page1); 

  pagesWidget->addWidget(page2); 

  pagesWidget->addWidget(page3); 

  QStackedWidget *pagesWidget;

  pagesWidget  = new QStackedWidget;

  pagesWidget->addWidget(page1);

  pagesWidget->addWidget(page2);

  pagesWidget->addWidget(page3);

 //交替当前项使用函数 

 pagesWidget->setCurrentIndex(n) 

5.添加对话框

 QString str;

  str = "You select " + text;

  QMessageBox::information(this, tr("Info"), str); 

6.新建一个文字标签

QLabel *leftAngle_caption = new QLabel(QWidget::tr("左转角度:"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: