第一个简单的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("左转角度:"));
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("左转角度:"));
相关文章推荐
- QT入门-一个简单的计算器程序
- qt打包程序(简单)
- JDK下载,安装,写第一个简单的Java程序(windows)
- Qt模块化笔记之network——写第一个Tcp程序(1)
- QT类似 4000 于QQ的即时聊天程序用开发QTcpServer,QTcpSocket简单开发
- 用Qt开发第一个Hello World程序
- windows 安装和编译第一个QT程序
- Qt入门-构建一个简单的窗体程序
- 第一个简单的小程序
- Qt之base64编码最简单程序
- 第一个QT程序
- Android_002_第一个简单的程序
- 【糟糕的代码】Android的第一个程序:简单的皮肤更换测试
- Intellij Idea12第一个安卓程序开发(HelloWorld)及简单讲解Android
- 第一个简单的用户注册验证php程序
- Ubuntu10.04下安装Qt4和创建第一个Qt程序
- 简单的QT绘图程序(把全部的点都记录下来,然后在paintEvent里使用drawLine函数进行绘制,貌似效率很低。。。)
- 第一个Java程序,简单的打开图片并显示在面板上
- Qt编写的简单象棋程序 chessbroad.cpp
- QT 使用qtcreator编写第一个登录程序