QMainWindow在show()之后立即关闭

爱德华

我是Qt的新手(主要使用Objective-C),所以我可能遇到了新手问题。QDialog窗口中,我尝试QMainWindow像这样打开

this->close();
SQLWindow window;
window.receivePath(path); //Path for the .sqlite file
window.show()

QDialog关闭,一毫秒后,我看到了新窗口的一瞥,但它也关闭了。以下是QMainWindow部分:

SQLWindow::SQLWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::SQLWindow) 
{ 
    ui->setupUi(this); 
    this->initialSetup(); 
} 

SQLWindow::~SQLWindow() 
{ 
    delete ui; 
} 

void SQLWindow::initialSetup() 
{ 
    ui->tableView->setSortingEnabled(true); 
    ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); 
} 

void SQLWindow::receivePath(QString path) 
{ 
   this->openDatabase(path); 
} 

void SQLWindow::openDatabase(QString path) 
{
    //Opening database just fine
}
奥伯龙

您的窗口是一个局部变量,在函数末尾被销毁,因此析构函数将其关闭。您可以做的是SQLWindow在堆上创建new SQLWindow,例如使用此处Qt::WA_DeleteOnClose所示属性

或者,更好的设计可能是将对话框和窗口都创建为main函数的局部变量,然后让主函数将对话框和路径的路径传递给SQLWindow,那么就不需要了new

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SSH连接在RemoteCommand之后立即关闭

来自分类Dev

创建InputSource之后是否可以立即关闭InputStream?

来自分类Dev

在iOS 7,SDK 7中关闭UIActionSheet之后,键盘立即隐藏并再次显示

来自分类Dev

在密集的CPU / GPU负载之后立即关闭我的PC是否安全?

来自分类Dev

MySQL Reader立即关闭

来自分类Dev

SFML窗口立即关闭

来自分类Dev

jQuery .show()立即隐藏

来自分类Dev

关闭QMainWindow后,QTimer仍然存在

来自分类Dev

PySide / PyQt QMainWindow如何关闭QDockWidget?

来自分类Dev

生成QCloseEvent不会关闭QMainWindow

来自分类Dev

关闭QMainWindow后,QTimer仍然存在

来自分类Dev

PySide / PyQt QMainWindow如何关闭QDockWidget?

来自分类Dev

.pyw tk程序立即关闭?

来自分类Dev

简单的桌面程序立即关闭

来自分类Dev

Xubuntu热键可立即关闭

来自分类Dev

QWizard立即打开和关闭

来自分类Dev

Netty-频道立即关闭

来自分类Dev

SDL OpenGL窗口立即关闭

来自分类Dev

xterm参数终端关闭立即

来自分类Dev

立即关闭小吃店

来自分类Dev

Dovecot立即连接关闭

来自分类Dev

QMainWindow 不 .show() 但 .showFullScreen() 有效

来自分类Dev

在registerUserNotificationSettings之后立即调用registerForRemoteNotifications吗?

来自分类Dev

在代码块之后立即添加方括号

来自分类Dev

操作栏被隐藏,之后立即显示

来自分类Dev

在代码块之后立即添加方括号

来自分类Dev

设置了批次变量,但之后立即变为空白

来自分类Dev

在调用startService之后立即到达实例

来自分类Dev

在ShowDialog之后立即从ViewModel执行操作