2. C++ GUI QT4
梦幻DUO
游戏开发爱好者
展开
-
QT 快速入门(一)
QT 快速入门(一)示例一:创建Hello标签#include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QLabel *label = new QLabel("Hello");//也支持html富文本 label->show(); return a原创 2015-05-13 14:55:57 · 1029 阅读 · 2 评论 -
Qt 文件操作
一、打开文件示例: QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) { //这里是以只读方式打开 QMessageBox::warning(this, tr("Spreadsheet"), tr("Cannot read file %1:\n%原创 2015-12-01 20:27:39 · 555 阅读 · 0 评论 -
Qt 注册表
一、写入注册表示例:void MainWindow::writeSettings(){ QSettings settings("Software Inc.", "Spreadsheet"); settings.setValue("geometry", saveGeometry()); settings.setValue("recentFiles", recentFiles);原创 2015-12-01 21:14:44 · 633 阅读 · 0 评论 -
Qt 创建上下文菜单
示例:void MainWindow::createContextMenu(){ spreadsheet->addAction(cutAction); spreadsheet->addAction(copyAction); spreadsheet->addAction(pasteAction); spreadsheet->setContextMenuPolicy(Q原创 2015-12-05 22:11:44 · 673 阅读 · 0 评论 -
Qt 设置鼠标
示例: QApplication::setOverrideCursor(Qt::WaitCursor); //设置覆盖鼠标 //do something.. QApplication::restoreOverrideCursor(); //恢复鼠标为覆盖前的状态原创 2015-12-05 23:17:20 · 568 阅读 · 0 评论 -
Qt 设置程序图标
示例:setWindowIcon(QIcon(":/images/icon.png"));原创 2015-12-05 22:17:12 · 564 阅读 · 0 评论 -
Qt 打开保存文件对话框
示例:bool MainWindow::saveAs(){ QString fileName = QFileDialog::getSaveFileName(this, tr("Save Spreadsheet"), ".", tr("Spreadsheet files原创 2015-12-05 23:03:44 · 849 阅读 · 0 评论 -
QTCreator项目转移到VS项目步骤、中文乱码解决方案
一、QTCreator项目转移到VS项目步骤: 1. 首先你需要打开QT自带的命令行,然后定向到Qt项目文件夹,然后输入qmake -t vcapp。 2. 这时候VS项目就会自动生成.vcxproj,用VS打开即可!二、中文乱码解决方案: 接着可能会发生一个中文字符串乱码,或是提示“常量中含有换行符”,或是提示“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。原创 2015-11-18 17:14:25 · 1998 阅读 · 0 评论 -
Qt 在窗体中摆放窗口部件
示例:FindFileDialog::FindFileDialog(QWidget *parent) : QDialog(parent){ namedLabel = new QLabel(tr("&Named:")); namedLineEdit = new QLineEdit; namedLabel->setBuddy(namedLineEdit); loo原创 2015-12-07 20:11:49 · 745 阅读 · 0 评论 -
Qt 分组布局
示例:PreferenceDialog::PreferenceDialog(QWidget *parent) : QDialog(parent){ createAppearancePage(); createWebBrowserPage(); createMailAndNewsPage(); createAdvancedPage(); buttonBo原创 2015-12-07 21:17:10 · 1160 阅读 · 0 评论 -
Qt QTreeWidget树形结构
示例: QStringList messageLabels; messageLabels << tr("Subject") << tr("Sender") << tr("Date"); messagesTreeWidget = new QTreeWidget; messagesTreeWidget->setHeaderLabels(messageLabels);原创 2015-12-08 12:43:06 · 847 阅读 · 0 评论 -
Qt5.5 使用Git+VS2010静态编译
你需要先安装 Git (>= 1.6.x) Perl (>=5.14) Python (>=2.6.x) DirectX SDK(June 2010) VS(>= 2010) 注意Python的安装文件要设置在系统环境变量Path里面。还有在Path中Perl必须在Git前面。克隆Qt源代码 $ git clone https://code.qt.io/qt/qt5.git原创 2016-02-07 14:22:03 · 1230 阅读 · 0 评论 -
Qt 创建状态栏
一、创建状态栏 示例: locationLabel = new QLabel(" W999 "); formulaLabel = new QLabel; statusBar()->addWidget(locationLabel); statusBar()->addWidget(formulaLabel, 1); connect(spreadsheet, SIGNA原创 2015-12-01 15:18:52 · 951 阅读 · 0 评论 -
Qt 创建工具栏
一、添加工具栏示例: QToolBar *fileToolBarfileToolBar = addToolBar(tr("&File")); QToolBar *editToolBar = addToolBar(tr("&Edit"));二、添加工具选项 fileToolBar->addAction(newAction); fileToolBar->addAction(o原创 2015-11-30 22:57:39 · 1056 阅读 · 0 评论 -
Qt 创建菜单
一、创建菜单栏示例:QMainWindow::menuBar();说明: QMainWindow::menuBar()函数返回一个指向QMenuBar的指针。菜单栏会第一次调用muneBar()函数的时候就创建出来。二、添加菜单项示例:fileMenu = menuBar()->addMenu(tr("&File"));editMenu = menuBar()->addMenu(tr("&Edi原创 2015-11-30 22:13:16 · 1039 阅读 · 0 评论 -
QT 快速入门(二)
QT 快速入门(二)1、QT设计师中创建菜单后,下方自动添加动作,右击,转到槽。如:void MainWindow::on_actionDs_triggered(){ QMessageBox msgBox; msgBox.setText(tr("New")); msgBox.exec();}2、状态栏添加Label:MainWindow::Mai原创 2015-05-13 16:01:34 · 677 阅读 · 0 评论 -
QT C++开发环境一键快速搭建
QT C++开发环境一键快速搭建很简单,只需下载QT creator。地址:http://mirrors.hust.edu.cn/qtproject/archive/qt/5.1/5.1.1/qt-windows-opensource-5.1.1-mingw48_opengl-x86-offline.exe这是32位的windows版本,如需其他的QT creator版本,请自行到原创 2015-05-13 14:40:55 · 1632 阅读 · 0 评论 -
Qt HelloQt
这是一个非常简单的Qt入门程序。#include <QtWidgets/QApplication>#include <QtWidgets/QLabel>int main(int argc, char *argv[]){ QApplication a(argc, argv); QLabel *labbel = new QLabel("Hello Qt!"); labbel-原创 2015-11-15 23:41:38 · 545 阅读 · 0 评论 -
Qt 自动建立信号-槽关系
setupUi()函数会自动将那些符合on_objectName_signalName()命名惯例的任意槽与相信的objectName的signalName()信号连接在一起。例如:private slots: void on_lineEdit_textChanged();会建立如下信号-槽连接关系: connect(lineEdit, SIGNAL(textChanged(const原创 2015-11-20 19:56:55 · 1144 阅读 · 0 评论 -
Qt 手动生成moc 文件
今天在我的一个Qt程序中新添加了一个菜单项和对应的signal和slot之后,编译运行发现出现这样的错误: Object::connect No Such Slot………………….. 但是以前定义的signal和slot都能够正常工作。而我把这个菜单项对应的signal与以前定义的slot进行连接,也能够正常运行。 那为什么新添加的slot就不可以正常工作呢?Google搜索了一下,可能导致这转载 2015-11-21 12:15:42 · 6631 阅读 · 1 评论 -
Qt 查询文档
Windows中打开assistant.exe(QT助手)即可。原创 2015-11-19 23:27:06 · 490 阅读 · 0 评论 -
Qt 改变形状的对话框
#ifndef SORTDIALOG_H#define SORTDIALOG_H#include <QDialog>#include "ui_sortdialog.h"class SortDialog : public QDialog, public Ui::SortDialog{ Q_OBJECTpublic: SortDialog(QWidget *parent = 0);原创 2015-11-22 10:10:31 · 1259 阅读 · 0 评论 -
Qt 动态对话框
懒得打字了,直接截书上的图 出自《c++ gui qt4编程》(第二版)转载 2015-11-22 10:18:34 · 992 阅读 · 0 评论 -
QT+VS2010开发环境快速搭建
先下载QT SDK并安装。好像QT官网下载需要翻墙(或是学校的网络原因),我在官网下载不了。而且我觉得官网的下载引导也很乱,想下免费版的老是跳转到商业版,无语。所以只好百度一个下载,百度搜索qt-windows-opensource-5.1.1-mingw48_opengl-x86-offline即可。下载QT版的VS插件并安装。搜索“QT VS插件“关键字是很难找到的,直接搜索插件的安装文件名:原创 2015-11-12 23:59:06 · 1024 阅读 · 0 评论 -
Qt QRegExpValidator内置检验器
这样一行代码:QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");QRegExpValidator带一个正则表达式“[A-Za-z][1-9][0-9]{0,2}”,意思是:允许一个大写或者小写的字母,后面跟着一个范围为1~9的数字,后面再跟0个、1个或2个0~9的数字。(对于正则表达式的介绍,请查看参考文档中的QRegExp)原创 2015-11-20 20:01:36 · 4792 阅读 · 0 评论 -
Qt 深入介绍信号和槽
常用语法看起来是这样的: connect(sender, SIGNAL(signal), receiver, SLOT(slot));信号和槽的其它特点: * 一个信号可以连接多个槽 * 多个信号可以连接同一个槽 * 一个信号可以与另一个信号相连接 * 连接可以被移除:disconnect(sender, SIGNAL(signal), receiver, SLOT(slot));信号和槽原创 2015-11-20 18:50:20 · 529 阅读 · 0 评论 -
Qt 创建对话框
#ifndef FINDDIALOG_H#define FINDDIALOG_H#include <QDialog>class QCheckBox;class QLabel;class QLineEdit;class QPushButton;class FindDialog : public QDialog{ Q_OBJECT //对于所有定义了信号和槽的类,在定义开始处的Q_OB原创 2015-11-20 18:42:25 · 556 阅读 · 1 评论 -
QT遇到unresolved external symbol "public: virtual struct QMetaObject解决方案
出现这个错误的原因是没有为头文件生产moc文件,在类定义包含Q_OBJECT宏都是必需有这个moc文件的。右击该头文件,属性,General的Item Type选择Custom Build Tool,确定。再重新进入General界面,点击Custom Build Tool,Command Line输入:"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ...原创 2018-02-10 18:15:15 · 1691 阅读 · 1 评论