gpt4 book ai didi

c++ - QMainWindow 打开后从静态函数运行 QDialog 对象

转载 作者:行者123 更新时间:2023-11-30 04:36:01 24 4
gpt4 key购买 nike

我想在打开 QMainWindow 对象后从静态函数打开一个模式对话框(用于登录)。

class DialogLog : public QDialog {
DialogLog(QWidget * parent) : QDialog(parent) {
//some code
exec();
}
};

class LogHandler {
static bool log(QWidget * parent) {
DialogLog dl(parent);
//some code
}
};

class WinMain : public QMainWindow {}

main(..) {
QApplication app(..);

WinMain fen;
fen.show;

app.exec();
};

编辑:如何在 WinMain 之后/同时运行 LogHandler::log()?

最佳答案

可能有更好的解决方案,但您可以这样做:使用 singleshot timer将立即拍摄(即一旦事件泵开始循环)。

计时器将调用一个插槽,例如,您的 WinMain 类:

void main(..) {
QApplication app(..);

WinMain fen;
fen.show;

QTimer::singleShot(0, &fen, SLOT(login()));
app.exec();
};

WinMainlogin() 插槽中,您可以调用 LogHandler::log() :

void WinMain::login() {
if (!LogHandler::log(this))
qApp->quit();
}

关于c++ - QMainWindow 打开后从静态函数运行 QDialog 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4815679/

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