Qt:最大化帧
Qt: maximized frame
我有一个初学者问题。我正在尝试使用以下代码创建最大化的 QFrame,但收到一条错误消息:
error C3867: 'QWidget::showMaximized': function call missing argument list; use '&QWidget::showMaximized' to create a pointer to member
法典:
class FrameWindow{
private:
QDesktopWidget *desktop;
QFrame frame_window;
QRect frame_rect;
public:
FrameWindow(QApplication& app){
desktop = app.desktop();
desktop->showMaximized;
frame_window.setWindowTitle("QT Trainning");
frame_window.show();
}
我完全是C++初学者,所以我错过了什么?
函数/方法通常需要参数列表,即使是空的参数列表 -> 对象>method() 尝试使用括号。
您最终希望:
w->setWindowState(w->windowState() | Qt::WindowFullScreen);
编辑:或作为您的解决方案:
w->setWindowState(w->windowState() | Qt::WindowMaximized);
除了其他人已经注意到的之外,传递当前应用程序或持有指向桌面的指针完全适得其反。应用程序指针始终可通过全局qApp
宏使用。要获取桌面,只需使用
qApp->desktop()
绝对没有理由"缓存"此值。在需要时获取它,仅此而已。
从小部件类型派生也更习惯,而不是将其作为成员持有。代码可以简化如下。这是一个完整的、自包含的示例。
#include <QFrame>
#include <QApplication>
class FrameWindow : public QFrame {
public:
FrameWindow(QWidget * parent = 0, Qt::WindowFlags * flags = 0) :
QFrame(parent, flags)
{
setWindowTitle("Qt Training");
setWindowState(windowState() | Qt::WindowMaximized);
}
};
int main(int argc, char ** argv) {
QApplication app(argc, argv);
FrameWindow fw; // constructor is called here
fw.show();
return app.exec();
// FrameWindow::~FrameWindow() destructor is called first before exiting
// QApplication::~QApplication() destructor is called next
}
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- Qt和C++:将QLineEdit添加到QTabWidget中
- Qt:最大化帧
- 最大化qt中单个实例应用程序的已运行实例
- 如何在Qt对话框中获得最大化按钮和"这是什么"按钮?
- Qt: QMainWindow最大化/非最大化时触发代码
- Qt c++最小化和最大化窗口
- 如何在Qt中绘制关闭,最小化和最大化按钮