一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题
来源:互联网 发布:linux tar exclude 编辑:程序博客网 时间:2024/05/22 04:50
一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题
今天写了一个MainWidow,但是遇到的问题,很有意思,先看效果吧:(期望的效果)
结果我的结果是:
也就是,资源文件没有加载.
就在此刻,我突然的冒出来,是不是因为图片格式的问题?我里面改了一个试了试,此时的结果是
也就是说和资源的文件格式有关系,再试试试其他的部分,运行结果:
正常了.在窗口中使用的资源在窗口中的呈现结果,和资源文件的文件格式有关系的.
之前使用的文件是ico文件,那么这个或许在那个时候是可以的,不过因为不稳定所以就不行了.
附上源代码:
之前使用的文件是ico文件,那么这个或许在那个时候是可以的,不过因为不稳定所以就不行了.
附上源代码:
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui { class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void loadFile(QString filename); int fileChanged(); void saveFile();private: Ui::MainWindow *ui; QString fileName;private slots: void about(); void newFile(); void openFile();};#endif // MAINWINDOW_H
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QMessageBox>#include <QFileDialog>#include <QTextStream>#include <QTextEdit>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setCentralWidget(ui->textEdit); //action setting ui->mainToolBar->addAction(ui->action_New); ui->mainToolBar->addAction(ui->action_Open); ui->mainToolBar->addAction(ui->action_Cut); ui->mainToolBar->addAction(ui->action_About); //slot setting connect(ui->action_About,SIGNAL(triggered()),this,SLOT(about())); connect(ui->action_New,SIGNAL(triggered()),this,SLOT(newFile())); connect(ui->action_Open,SIGNAL(triggered()),this,SLOT(openFile()));}MainWindow::~MainWindow(){ delete ui;}void MainWindow::about(){ QMessageBox::about(this,tr("About this app"),tr("copyrigth by PowerLinux")); return;}void MainWindow::newFile(){ int i = fileChanged(); if(i == 1){ int s = QMessageBox::question(this,tr("Asking"),tr("File is changed ,Save it?"),QMessageBox::Ok | QMessageBox::Cancel); if(s == QMessageBox::Ok){ saveFile(); } else{ ui->textEdit->setText(""); } } else{ MainWindow *newWin = new MainWindow; newWin->show(); }}void MainWindow::openFile(){ int i = fileChanged(); if(i == 1){ int s = QMessageBox::question(this,tr("Asking"),tr("File is changed ,are you sure?"),QMessageBox::Ok | QMessageBox::Cancel); if(s == QMessageBox::Ok){ fileName = QFileDialog::getOpenFileName(this); if (!fileName.isEmpty()) { loadFile(fileName); } } } else{ fileName = QFileDialog::getOpenFileName(this); if (!fileName.isEmpty()) { loadFile(fileName); } }}void MainWindow::loadFile(QString filename){ QFile file(filename); if(file.open(QIODevice::ReadOnly | QIODevice::Text)){ QTextStream textStream(&file); while(!textStream.atEnd()){ ui->textEdit->append(textStream.readLine()); } }}int MainWindow::fileChanged(){ if(ui->textEdit->document()->isModified()){ return 1; } else{ return 0; }}void MainWindow::saveFile()//! [44] //! [45]{ fileName = QFileDialog::getSaveFileName(this); if (!fileName.isEmpty()){ QFile file(fileName); if (!file.open(QFile::WriteOnly | QFile::Text)) { QMessageBox::warning(this, tr("Application"), tr("Cannot write file %1:\n%2.") .arg(fileName) .arg(file.errorString())); } else{ QTextStream out(&file); out << ui->textEdit->toPlainText(); } }}
<RCC> <qresource prefix="/images"> <file>images/accessories-text-editor.png</file> <file>images/help-browser.png</file> <file>images/internet-mail.png</file> <file>images/office-calendar.png</file> </qresource></RCC>
#-------------------------------------------------## Project created by QtCreator 2011-08-27T13:54:14##-------------------------------------------------QT += core guiTARGET = widgetTEMPLATE = appSOURCES += main.cpp\ mainwindow.cppHEADERS += mainwindow.hFORMS += mainwindow.uiRESOURCES += \ app.qrcOTHER_FILES += \ app.rcRC_FILE +=\ app.rc
- 一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题
- 一步步学Qt,第四天-Qt 建立MainWindow的步骤
- 一步步学Qt,第四天-Qt 建立MainWindow的小小bug处理
- 一步步学Qt,第四天-Qt程序发布问题
- 【Qt】遇到的问题
- QT 遇到的问题
- Qt遇到的问题
- 一步步学Qt,第四天-Qt使用sleep
- (QT)QT遇到的问题以及解决方法
- 一步步学Qt,第五天-Qt程序发布问题 解决
- Qt 中遇到的问题
- 初识Qt遇到的问题
- qt所遇到的问题
- QT编程遇到的问题
- qt helloworld遇到的问题
- 一步步学Qt,第四天-Linux 下mysql数据库链接
- 学习C++ GUI Programming with Qt 4遇到的问题(1)
- 一步步学Qt,第七天-QPainter绘图QRect定位问题
- 设计网页突起按钮代码
- linq 某些语句在db4o中引起性能问题
- 中兴V880无敌简单刷机教程,亲测成功!
- Common Dbutils详解
- 设计突起按钮代码
- 一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题
- innodb崩溃后的恢复过程--重做和回滚
- TS3.0 引入 opengl es 1.x, opengl es 2.0模块..支持android
- 线程池 Executors工具应用
- lua 元表
- 学习C#的基础感想
- How Tomcat Works学习笔记<四>
- Linux下regulator驱动程序分析
- (2011.08.27)优先队列