• 7192阅读
  • 4回复

[讨论]如何触发QPaintEvent事件并调用响应的事件处理函数 [复制链接]

上一主题 下一主题
离线xiumingjun
 

只看楼主 倒序阅读 楼主  发表于: 2012-02-24
MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    pcmFunction = new pcmTCoordsTable(this);    pcmFunction->hide();    ui->qvtkWidget->hide();    ui->qvtkWidget_2->hide();    (ui->showPCloudAction, SIGNAL(triggered()), this, SLOT(showData()));}void MainWindow::showData(){    ui->qvtkWidget->showFullScreen();    ui->qvtkWidget->update();}如题,我想在主窗口中添加一个qvtkWidget窗口,但是qvtkWidget窗口的显示是要触发ui->showPCloudAction动作才能显示,开始在构造函数中是调用函数hide(),使其不显示的。
但是现在的问题是当触发动作
ui->showPCloudAction后,qvtkWidget窗口并不能自动显示,而是要鼠标在Mainwindow中点击一下才能显示出来,而且还不能最大化显示,在UI中拖入窗口多大就显示多大。望各位达人解决一下。
离线jdwx

只看该作者 1楼 发表于: 2012-02-24
回 楼主(xiumingjun) 的帖子
而且还不能最大化显示,在UI中拖入窗口多大就显示多大?
在构造函数里增加:setCentralWidget(qvtkWidget);
qvtkWidget窗口并不能自动显示?
qvtkWidget->show();
或:
qvtkWidget->setHidden(false);
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线xiumingjun

只看该作者 2楼 发表于: 2012-02-24
回 1楼(jdwx) 的帖子
不能把它设置为中心框口,因为我总共有3个框口要显示呢,现在这一个都解决不了。
qvtkWidget->show()放在构造函数中可以自动显示。但是我一开始的时候并不想让他显示,而是触发动作后再让他显示,结果触发后还要鼠标单击一下界面才能显示。
离线xiumingjun

只看该作者 3楼 发表于: 2012-02-24
MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    pcmFunction = new pcmTCoordsTable(this);    pcmFunction->hide();    ui->qvtkWidget->hide();    ui->qvtkWidget_2->hide();    (ui->showPCloudAction, SIGNAL(triggered()), this, SLOT(showData()));}void MainWindow::showData(){    ui->qvtkWidget->showFullScreen();    ui->qvtkWidget->update();}如题,我想在主窗口中添加一个qvtkWidget窗口,但是qvtkWidget窗口的显示是要触发ui->showPCloudAction动作才能显示,开始在构造函数中是调用函数hide(),使其不显示的。
但是现在的问题是当触发动作ui->showPCloudAction后,qvtkWidget窗口并不能自动显示,而是要鼠标在Mainwindow中点击一下才能显示出来,而且还不能最大化显示,在UI中拖入窗口多大就显示多大。望各位达人解决一下。
离线dxfans

只看该作者 4楼 发表于: 2012-02-24
让窗口显示调用窗口的show函数即可;
让窗口最大化显示,设置窗口的的大小策越为QSizePolicy::Expanding(水平和垂直方向都是),函数为setSizePolicy
快速回复
限100 字节
 
上一个 下一个