C++ 调用Qt';什么是setui方法?
我正在使用Qt设计器为我的应用程序生成许多不同的*.ui文件。然后,这些文件将按照以下方法使用 调用C++ 调用Qt';什么是setui方法?,c++,qt,error-handling,qwidget,null-pointer,C++,Qt,Error Handling,Qwidget,Null Pointer,我正在使用Qt设计器为我的应用程序生成许多不同的*.ui文件。然后,这些文件将按照以下方法使用 调用ui.setupUi后(this)我是否需要检查并查看是否有任何GUI元素为空?我知道setupUi会在GUI中创建所有对象的实例,但它返回void并且似乎不使用异常。Qt是否有某种保证让我知道UI元素可以安全使用,或者每次我想触摸它们时是否应该进行空检查 可以在以下文档中的示例代码中看到一个示例: 请注意,在使用指向UI元素的指针之前,不会执行空检查。为了示例的简洁性,可以省略这一点,但我在示例
ui.setupUi后(this)代码>我是否需要检查并查看是否有任何GUI元素为空?我知道setupUi
会在GUI中创建所有对象的实例,但它返回void并且似乎不使用异常。Qt是否有某种保证让我知道UI元素可以安全使用,或者每次我想触摸它们时是否应该进行空检查
可以在以下文档中的示例代码中看到一个示例:
请注意,在使用指向UI元素的指针之前,不会执行空检查。为了示例的简洁性,可以省略这一点,但我在示例代码中从未看到过它。如果我可以安全地假设UI元素存在,我可以从代码中删除很多If
语句
调用ui.setupUi后(此);我是否需要检查并查看是否有任何GUI元素为空
不,你不需要那样做
setupUi()
不接受异常。它根本没有任何try
块。(在Creator中,当光标进入setupUi()
调用时,只需按F2键即可跳转到该函数并检查它。)如果new
抛出,或某个小部件构造函数抛出,您将得到该异常。好吧,QWidget
构造函数不会抛出,但是new
可能会抛出(例如,内存不足)
您甚至不需要自己在调用setupUi()
的构造函数中检查异常。如果setupUi()
抛出异常,那么您自己的构造函数将自动重新抛出异常
总之,长话短说,所有这些意味着您永远不需要检查ui
widget指针是否为空