初学Qt——vs2012开发环境下的窗体跳转
来源:互联网 发布:vb杨辉三角形 编辑:程序博客网 时间:2024/05/21 10:38
最近接了份外快,要求使用vs+qt开发一个简单的数据管理系统。qt开发使用的语言是c++,然而c++只是大一第二学期有教过而已,基本也差不多忘光了,废话不多说,讲下今天遇到的问题吧
如标题所说,窗体跳转的问题。
首先讲下qt开发环境的问题,qt开发有两种方式,一种是使用Qt Creator开发,这种可以在Linux系统下实现开发。还有一种是使用visual studio开发,这种只能在Windows系统下进行开发,使用vs的话还需要我们自行安装插件到vs上去。而且随着了解加深,发现其实用vs开发很麻烦,因为不同版本对qt的一些函数会有不同的改变。
比如在我们.cpp中修改窗体中label为中文文本时,出现的是一堆乱码,这需要我们对QString进行定义。之前查到在使用Qt Creator时可以使用以下代码解决该问题
//Set Encode
QTextCodec::setCodecForTr(QTextCodec::codecForName(“system”));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName(“system”));
QTextCodec::setCodecForLocale(QTextCodec::codecForName(“system”));
结果发现在vs2010时这三个函数是都有的,而在vs2012中,第二跟第三两个函数已经没有了。。然而到了vs2013又重新有了,这就是使用vs的麻烦之处。
后来又在一些问题上,比如添加信号槽,vs下跟qt Creator下是两种写法,然后今天完成登录界面要跳转到主界面时,去网上找到的基本都是在qt Creator下怎么跳转,然而在vs下不能用,最后找到一篇接近的,才实现了这个功能。
下面贴上详细代码
首先新建一个窗体界面
第一个窗体界面是在创建项目时自动给我们添加的就不贴上去了
在FormFiles文件夹里新建一个ui文件,这里名为home.ui;
然后右键编译,给其生成ui_Home.h文件
接着在Healer Files文件夹新建home.h头文件
#ifndef Home_H#define Home_H#include <QtWidgets/QWidget>#include "ui_home.h"#include<QtSql>class Home : public QWidget{ Q_OBJECTpublic: Home(QWidget *parent = 0); ~Home();private: Ui::Home ui; QSqlDatabase db;private slots:};#endif // MYCLASS_H
Source Files文件夹新建home.cpp
#include "home.h"#include <QMessageBox>#include<modelInfo.h>Home::Home(QWidget *parent) : QWidget(parent){ ui.setupUi(this);}Home::~Home(){}
完成后对第一个窗体login的头文件进行修改如下
login.h
#ifndef MYCLASS_H#define MYCLASS_H#include <QtWidgets/QWidget>#include "ui_login.h"#include<QtSql>#include"home.h" //包含新窗体头文件class Login : public QWidget{ Q_OBJECTpublic: Login(QWidget *parent = 0); ~Login(); bool connectSql();private: Ui::Login ui; Home *home;//这里添加了新窗体定义 QSqlDatabase db;private slots: void Btn_OpenClick();};#endif // MYCLASS_H
在login.cpp里跳转到新窗体代码段如下
#include "home.h"//需要包含头文件,以下代码段实现跳转,写在相应的信号槽中即可this->hide();home = new Home();home->show();
- 初学Qt——vs2012开发环境下的窗体跳转
- 初学Qt——程序打包(环境vs2012+qt5.1.0)
- 初学qt——提示窗体
- Windows下QT+VS2012环境搭建
- Windows下使用VS2012搭建Lua的开发环境
- VS2012下开发驱动-配置环境
- VS2012下搭建OpenCV开发环境
- Qt+VS2012 搭建环境
- Qt开发: VS2012使用Qt5搭建开发环境
- Windows 下 QT 开发环境的搭建
- Windows下Qt开发环境的配置
- eclipse 下 QT 开发环境的搭建
- Windows下QT开发环境的搭建
- window下Qt开发环境的搭建
- VS2010下的QT开发环境搭建
- Fedora14下qt开发环境的安装
- Linux下Qt开发环境的搭建
- Linux下Qt开发环境的搭建
- Java--各种有趣的图案输出
- 【3】mysql字段类型
- MR程序的几种提交运行模式
- 【UVa】11389 - The Bus Driver Problem
- Retrofit2初尝问题汇总及解决方案(含Dagger2)
- 初学Qt——vs2012开发环境下的窗体跳转
- hihocoder 1032 : 最长回文子串(Manacher)
- 字和字节的区别&&&&如何精确表示pi
- 已解决的问题-----Cocos交叉编译不能通过!
- nginx
- 怎样进入 Windows 10 的“开发者模式”
- apicloud如何实现优雅的下拉刷新与加载更多(Appcan也可类似实现)
- 很LOW的自考者
- android 屏幕翻转问题