简单备份一下第一个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("左转角度:"));