• 4870阅读
  • 1回复

QT的一个有意思的问题 为什么出不来图呢??我是模仿别人的。 [复制链接]

上一主题 下一主题
离线liuxiangqian
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-21
— 本帖被 XChinux 执行加亮操作(2009-01-03) —
下面的代码是模仿所得,目的是学习open文件功能是怎么用的,但是却出不来图,请问高手们这是为什么呢???
当然我没有加on_browsebutton_clicked()时是可以出来图的,图是自己所化。
open.cpp:
#include <QtGui>
#include "sender.h"

Sender::Sender(QWidget *parent)
        :QDialog(parent)
{
  setupUi(this);

}

void Sender::on_browsebutton_clicked()
{
  QString initialName = sourcefile->text();
  if (initialName.isEmpty())
    initialName = QDir::homePath();
QString fileName = QFileDialog::getOpenFileName(this, tr("Choose File"),
                                              initialName);
    fileName = QDir::toNativeSeparators(fileName);
if (!fileName.isEmpty()) {
    sourcefile->setText(fileName);
    }
}



open.h:
#ifndef SENDER_H
#define SENDER_H

#include <QDialog>

#include "ui_sender.h"
class Sender : public QDialog, private Ui::sender
{
Q_OBJECT

public:
  Sender(QWidget *parent = 0);

private slots:
  void on_browsebutton_clicked();

private:
  QString targetfile;
};

#endif

main.cpp:
#include <QApplication>
#include <QDialog>

#include "sender.h"

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  Sender dialog;
  dialog.show;
  return app.exec();
}

make后的结果
/usr/bin/uic-qt4 sender.ui -o ui_sender.h
g++ -c -pipe -fpermissive -g -Wall -W -D_REENTRANT -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o main.o main.cpp
main.cpp: In function ‘int main(int, char**)’:
main.cpp:10: 警告: statement 无法解析重载的函数地址
g++ -c -pipe -fpermissive -g -Wall -W -D_REENTRANT -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o sender.o sender.cpp
emacs /usr/bin/moc-qt4 -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. sender.h -o moc_sender.cpp
g++ -c -pipe -fpermissive -g -Wall -W -D_REENTRANT -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o moc_sender.o moc_sender.cpp
mg++ -Wl,--no-undefined -o sender main.o sender.o moc_sender.o    -L/usr/lib -lQtGui -lQtCore -lpthread


但是: 运行./open 没有图像出来  这是为什么???main.cpp:10: 警告: statement 无法解析重载的函数地址 的原因??


努力+方法=成功
离线liuxiangqian
只看该作者 1楼 发表于: 2008-11-21
知道了, dialog.show 改为 dialog.show(),太大意了!!
努力+方法=成功
快速回复
限100 字节
 
上一个 下一个