为什么setWindowFilePath不起作用?插槽正在工作。窗口标题不变。
我的操作系统是Windows 7,Qt使用wchar_t支持进行编译。

test::test(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
  ui.setupUi(this);
  QObject::connect(ui.pushButton, SIGNAL(clicked()), SLOT(Click()));
  setWindowTitle("Title");
}

void test::Click()
{
  setWindowFilePath("file.txt");
}

最佳答案

也许您的问题是您在使用setWindowTitle()之前已经使用了setWindowFilePath()。从docs:



编辑:我刚刚尝试使用setWindowFilePath(),但注意到只有在调用show()之后再调用它,它才生效。由于文档中未提及,因此闻起来像个错误……

编辑:好吧,如果不使用setWindowTitle()或在调用setWindowFilePath()之后再调用show()都无法正常工作,我不知道您的问题是什么。我已经制作了一个可行的示例,希望此举可以帮助您找到问题所在:

#include <QApplication>
#include <QMainWindow>
#include <QPushButton>

class MyWindow : public QMainWindow
{
        Q_OBJECT

    public:

        MyWindow()
        {
            QPushButton* b = new QPushButton("Click me", this);
            connect(b, SIGNAL(clicked()), this, SLOT(click()));
        }

    private Q_SLOTS:

        void click()
        {
            setWindowFilePath("file.txt");
        }
};

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    MyWindow w;
    w.show();

    return app.exec();
}

#include "main.moc"

关于c++ - setWindowFilePath在Qt中根本不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4624201/

10-10 20:14