Qt+VC2008 UI编码
Qt是一门优秀的跨平台开发工具。目前,Qt可以支持的平台有windows\linux\mac\android\ios。本专栏从搭建平台开始,介绍Qt在VC2008下的开发,非常适用于初学者。
xgbing
专注于嵌入式方向的软硬件设计与开发(ASM\C\C++,RTOS,Linux,android,以太网\嵌入式网络协议栈,蓝牙,WIFI,文件系统/嵌入式存储,显示\音频,单片机\DSP\ARM\Cortex,电路设计\PCB布板\硬件驱动\数字逻辑CPLD,FPGA\niosII),目前从事VirtualBox\qemu\KVM虚拟化研究工作。
展开
-
新版Qt可以支持Android和IOS平台
目前,Qt可以支持windows\linux\mac\android\ios。 Qt5.2的新功能:Qt on AndroidThe Qt for Android port is now fully supported and ready for production use. Qt applications can be run on devices with原创 2014-03-11 13:23:44 · 9829 阅读 · 1 评论 -
Qt入门-提示、警告、错误、询问、关于对话框
QMessageBox类提供了常用的弹出式对话框:提示、警告、错误、询问、关于对话框原型如下:void about ( QWidget * parent, const QString & title, const QString & text )void aboutQt ( QWidget * parent, const QString & title = QString() )S原创 2012-08-03 17:59:58 · 43910 阅读 · 6 评论 -
Qt入门-设置启动时界面出现在屏幕的中央
设置启动时界面出现在屏幕的中央的代码如下:int main(int argc, char *argv[]){ QApplication app(argc, argv); window win; win.resize(800, 570); win.move((app.desktop()->width() - win.width())原创 2012-08-03 17:45:27 · 8138 阅读 · 0 评论 -
Qt入门-打开和保存文件对话框
使用QFileDialog可以方便地调用当前系统的文件对话框:(1)文件打开对话框QString getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), Q原创 2012-08-03 17:38:57 · 20962 阅读 · 0 评论 -
Qt入门-使用Qt中的断言
Qt中的断言函数有两个:(1) void Q_ASSERT ( bool test )当test为假时打印出警告信息。示例: // File: div.cpp #include int divide(int a, int b) { Q_ASSERT(b != 0); return a / b; }(2) void Q_ASS原创 2012-07-26 16:35:18 · 8412 阅读 · 2 评论 -
Qt入门-控件颜色面板类QPalette
QPalette类提供了绘制QWidget控件时使用的颜色。 控件的颜色状态分三种:(1)Active,激活状态(2)Disabled,禁用状态(3)Inactive,未激活状态 控件在这三种不同的状态下具有不同的颜色值,QPalette类管理这三组颜色,它根据这三种状态分为三组颜色,每一组颜色都根据绘图角色的不同分类。系统在绘制控件时使用这些颜色,程序员可以原创 2012-07-25 15:48:06 · 20708 阅读 · 0 评论 -
Qt入门-界面多语言国际化的实现
Qt为国际化的实现提供了简便的方法。下面使用Qt Linguist示例一个中文语言界面的生成。 我使用以前的实例:http://blog.csdn.net/xgbing/article/details/7778856 它是一个英文界面: 步骤如下:(1) 首先是准备一个已经编译成功的工程,并且界面中的需要多语言支持的界面元素均使用了“tr()”函数。如:原创 2012-07-25 10:30:37 · 12074 阅读 · 0 评论 -
Qt入门-加入资源文件
使用VS2008向导新建一个工程后,工程中会自动加入一个资源文件.qrc,修改资源文件时只需在VS2008的“解决方案管理器”中双击这个它打开管理资源界面,如图: 使用资源文件时只需要在main()中加上一句:int main(int argc, char *argv[]){ Q_INIT_RESOURCE(资源名); //资源名就是工程名,没有后缀例如,原创 2012-07-24 18:02:31 · 4496 阅读 · 0 评论 -
Qt入门-自定义控件的外观
从QFrame派生的控件都可以灵活地设置它的外观。 QFrame的四个属性:lineWidth, midLineWidth, shadow, shape。它的组合可生成不同的外观,如图:示例: win->setFrameShape(QFrame::WinPanel); win->setFrameShadow(QFrame::Sunken); win->setLineW原创 2012-07-24 17:51:36 · 3271 阅读 · 0 评论 -
Qt入门-QTreeWidget类
QTreeWidget类是一个以树形显示数据的控件。示例:window.h#ifndef __WINDOW_H__#define __WINDOW_H__#include #include #include #include #include #include class Window : public QMainWindow{ Q_原创 2012-07-24 11:05:44 · 14339 阅读 · 1 评论 -
Qt入门-QLineEdit::setInputMask()
QLineEdit::setInputMask(const QString & inputMask)方法可以使Edit控件只允许输入自定义的格式字符串,inputMask参数设置格式化字符串的掩码。inputMask可以是下列字符的组合Character MeaningAASCII alphabetic character required. A-Z, a-z.a原创 2012-07-23 17:58:23 · 20739 阅读 · 0 评论 -
Qt入门-QValidator类
QValidator类提供一种验证输入是否有效的方法。 验证的结果有三种状态: enum State { Invalid, //验证通不过 Intermediate, //输入未完成,不确定是否能通过验证 Acceptable //验证通过 QValidator提供vali原创 2012-07-23 17:38:53 · 9005 阅读 · 0 评论 -
Qt入门-表格类QTableWidget
表格是GUI中常用的控件,在Qt中,常用的表格类是QTableWidget。 示例: QTableWidget *table = new QTableWidget(4,2); //新建一4行2列的表格 //设置表格行标题 QStringList headerLabels; headerLabels << "C1" << "C2"; table-原创 2012-07-23 11:43:28 · 47801 阅读 · 0 评论 -
Qt入门-文件读写
二进制文件的读写文件可以使用QFile类、QStream文本文件的读写建议使用QTextStream类,它操作文件更加方便。打开文件时,需要参数指定打开文件的模式:Constant Value DescriptionQIODevice::NotOpen 0x0000 The device is not open.QIODevice::ReadOnly 0x0001 The原创 2012-07-22 18:48:36 · 71626 阅读 · 3 评论 -
Qt入门-中文显示
一般在Windows下使用的是GBK编码: QTextCodec *gbk = QTextCodec::codecForName("gb18030"); QTextCodec::setCodecForTr(gbk); //设置QObject::tr使用的编码 QTextCodec::setCodecForLocale(gbk); //设置和对本地文件系统读写时候的默原创 2012-07-22 17:11:36 · 2788 阅读 · 0 评论 -
Qt入门-QByteArray类
Qt GUI API中使用Unicode类型的字符串类QString。使用Unicode的好处是可以支持更多的地区语言,ASCII是Uncode的子集。QByteArray和QString的方法和属性相似,可以参考QString。另外有一些与QByteArray相关的非成员函数://Related Non-Members//计算CRC16校验和quint16 qChecksu原创 2012-07-22 16:18:56 · 66529 阅读 · 1 评论 -
Qt入门-字符串列表类QStringList
QStringList类是QList的派生类,是字符串的列表类。它是一个非常有用的类,在处理字符串时使用QStringList,有时能事半功倍。 QStringList可以使用QList的所有方法,如:append(), prepend(), insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast()原创 2012-07-21 21:57:43 · 43695 阅读 · 0 评论 -
Qt入门-字符串类QString
QString是Unicode字符的集合,它是Qt API中使用的字符串类。 QString的成员是QChar,QChar是一个16位Unicode字符类。大多数编译器把它看作是一个unsigned short。 QString和C标准中的字符串不同,它不以'\0'结尾,相反,QString可以嵌入'\0'/字符。 (1)QString初始化。QStrin原创 2012-07-21 20:17:10 · 20961 阅读 · 1 评论 -
Qt入门-控制台应用程序Hello World
本文介绍Qt控制台程序的范本程序。 新建一个Qt控制台工程,添加如下代码:#include #include static QTextStream cout(stdout, QIODevice::WriteOnly);int main(int argc, char *argv[]){ cout << "Hello World." << endl; return原创 2012-07-21 17:28:47 · 11577 阅读 · 1 评论 -
Qt入门-列表框QListWidget类
QListWidget类也是GUI中常用的类,它从QListView下派生:class Q_GUI_EXPORT QListWidget : public QListView{ Q_OBJECT常用方法和属性:(1)addItemvoid addItem ( const QString & label )void addItem ( QListWidgetItem原创 2012-07-20 17:17:00 · 46859 阅读 · 4 评论 -
Qt入门-下拉列表框QComboBox类
QComboBox是QT GUI中的下拉列表框。class Q_GUI_EXPORT QComboBox : public QWidget{ Q_OBJECT常用方法和属性:(1)addItemsvoid addItems ( const QStringList & texts )在QComboBox的最后添加一项。(2)countint count原创 2012-07-20 15:28:28 · 142588 阅读 · 2 评论 -
Qt入门-单选框和复选框
在Qt GUI中,单选框类是QRadioButton,复选框类是QCheckBox。它们都是QAbstractButton的派生类。(1)单选框示例://设置为选择状态radioButton->setChecked(true);//返回选择状态bool radio_sel = radioButton->isChecked(); (2)复选框 复选框不同于单选原创 2012-07-20 11:25:06 · 43594 阅读 · 0 评论 -
Qt入门-文本框类QLineEdit和QTextEdit
QLineEdit是单行文本框。 QTextEdit是多行文本框。 (1)单行文本框QLineEdit常用的方法和属性: (a)获取和设置文本对齐方式Qt::Alignment alignment () constvoid setAlignment ( Qt::Alignment flag ) (b)获取和设置文件框的内容QString te原创 2012-07-20 11:03:11 · 147303 阅读 · 8 评论 -
Qt入门-layout布局
开发一个图形界面应用程序,界面的布局影响到界面的美观。在设计一个界面之前,应该考虑到开发的界面可能给不用的用户使用,而用户的屏幕大小、纵横比例、分辨率可能不同,界面还可能是可缩放的,程序应该可以适应这些变化。 前面的程序中都是使用setGeometry()方法定位控件的位置,这个方法比较笨拙。试想如果控件很多,布局这些控件需要编写大量的代码。幸运的是,QT提供了更好的方法布局控件原创 2012-07-19 18:40:43 · 100893 阅读 · 5 评论 -
Qt入门-connect, SIGNAL, SLOT
在QT中,事件处理信号叫做SIGNAL,事件处理函数叫做SLOT,两者关联函数是QOjbect::connect。示例:connect(sender, SIGNAL(signal), receiver, SLOT(slot));sender: 指触发的控件。signel:sender中定义的信号。receiver:可以是一个类。slot: 在类中定义的处理函数。原创 2012-07-19 16:36:12 · 9103 阅读 · 0 评论 -
Qt入门-QPushButton
QPushButton是一个按键类。class Q_GUI_EXPORT QPushButton : public QAbstractButton{ Q_OBJECT构造函数:QPushButton ( QWidget * parent = 0 )QPushButton ( const QString & text, QWidget * parent = 0 )QPus原创 2012-07-19 16:17:23 · 33431 阅读 · 4 评论 -
Qt入门-QLabel类
QLabel是QT界面中的标签类,它从QFrame下继承:class Q_GUI_EXPORT QLabel : public QFrame{ Q_OBJECT定义一个QLable类:QLabel *label = new QLabel(this);设置它的外观、文字、对齐方式: label->setFrameStyle(QFrame::Panel | QFr原创 2012-07-19 11:23:39 · 69308 阅读 · 4 评论 -
Qt入门-基于QMainWindow的窗体
如果一个窗体包含一个或多个窗体,那么它们是父窗体和子窗体。 没有父窗体的窗体是顶层窗体,QMainWindow是一个顶层窗体,并且它可以作为一个窗体。它可以包含很多界面元素,如菜单、工具栏、子窗体、状态栏等。例如添加菜单: void MainWindow::createMenus() { fileMenu = menuBar()->addMenu(tr("&Fil原创 2012-07-18 18:59:53 · 5431 阅读 · 0 评论 -
Qt入门-应用程序类QApplication
QApplication类:class Q_GUI_EXPORT QApplication : public QCoreApplication{ Q_OBJECT ...QApplication是应用程序管理类。它包含应用程序资源管理、消息处理机制等。常用的几个方法:(1) int QCoreApplication::exec ():启动程序,进入消息循环;原创 2012-07-18 18:24:37 · 10169 阅读 · 3 评论 -
Qt入门-构建一个简单的窗体程序
这里构建一个只有一个主窗体的的应用程序:#include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QMainWindow mainWindow; mainWindow.show(); return a.exec();}编译运行,界面只有一个窗体。原创 2012-07-18 17:46:51 · 5494 阅读 · 0 评论 -
Qt入门-使用QT+VS2008开发windows应用程序
QT是跨平台的应用程序开发工具,闻名遐迩,下面使用VS2008结合QT开发一个应用程序。(1)打开VS2008,新建QT工程 (2)点击下一步,这里是选择需要使用的QT库(3)点“下一步”“class name”:指定类的名称,这里写“qt_app”;“Base class”:指定自定义类的父类,这里选择“QMainWindow”其它四个项是保存文件的名称,原创 2012-07-18 14:36:36 · 22356 阅读 · 4 评论