gpt4 book ai didi

c++ - setWindowFilePath 在 Qt 中根本不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:06 27 4
gpt4 key购买 nike

为什么 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");
}

最佳答案

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

If the window title is set at any point, then the window title takes precedence and will be shown instead of the file path string.

编辑:我刚刚尝试使用 setWindowFilePath() 并注意到它只有在您调用 之后 调用 时才会生效显示()。由于文档中没有提到这一点,所以它闻起来像个错误...

编辑:好吧,如果不使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com