当前位置:编程学习 > wap >>

求助,自定义最大化显示不完全






如图,只有红框框里的那部分,其它部分(右边和下方)包括按钮都没了,但有的那部分按钮可以正常点击(红框外还有没放大时的残影)。
ps:在linux下编译运行也是一样的情况。 --------------------编程问答-------------------- 兄台开新帖问了?状况有点奇怪,不好猜原因,多贴些关键代码吧。 --------------------编程问答--------------------
引用 1 楼 dowithsmiles 的回复:
兄台开新帖问了?状况有点奇怪,不好猜原因,多贴些关键代码吧。


嗯嗯,开个新帖好给分,我到新帖把关键代码贴出来。 --------------------编程问答--------------------
引用 1 楼 dowithsmiles 的回复:
兄台开新帖问了?状况有点奇怪,不好猜原因,多贴些关键代码吧。




void MainWindow::max()
{




   QRect Max;
   Max = QApplication::desktop()->availableGeometry();




    if(current!=Max)
    {
        current = geometry();
        setGeometry(Max);
    }
    else
    {
        setGeometry(current);

    }


}



MainWindow::MainWindow(QWidget *parent) :
    QWidget(parent)
{
    setWindowFlags(Qt::FramelessWindowHint);
    titleBar=new TitleBar;
    mainLayout=new QVBoxLayout;
    mainLayout->addWidget(titleBar);
    titleBar->setFixedHeight(150);
    connect(titleBar,SIGNAL(min()),this,SLOT(showMinimized()));
    connect(titleBar,SIGNAL(max()),this,SLOT(max()));
    connect(titleBar,SIGNAL(close()),this,SLOT(close()));


--------------------编程问答-------------------- 感觉应该换个论坛问。。。这个论坛肿么好冷的样子 --------------------编程问答-------------------- titleBar和mainwindow是两个不同组件,你设置的是MainWindow的Geometry,Geometry从0,0开始的话,titleBar就到最上面被遮住了 --------------------编程问答-------------------- 你可以把titleBar和mainwindow放在一个frame上,然后设置frame的Geometry。 --------------------编程问答--------------------
引用 6 楼 mrx102 的回复:
你可以把titleBar和mainwindow放在一个frame上,然后设置frame的Geometry。

我晕,那岂不是要改动很多。。。
可是我的titlebar是用布局镶嵌在mainwindow顶部的呀,放大后titlebar也没有被遮住,只是整个程序右边部分没了。。
补充:移动开发 ,  Qt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,