这是一个可能复杂也可能简单的问题,因为界面之间的数据共享,要求不同,具体的编码方式也不同,但主要是采取Global的方式进行
这是个有意思的东西,因为原则上而言一个Qt程序只拥有一个主界面,从界面目的是配合主界面,主界面上通常集成了很多的操作(OPERATION),当一些可以移出的部分存在时,从界面就需要了,例如在主界面上通过点击按钮触发事件,具体的设定之类(从界面负责键入数据信息)可以通过从界面进行,设定的信息通过全局变量进行修改
void MainWindow::SLOTS_SETSAVEMODE_INIT() { modechoose_another = new SetSaveMode; modechoose_another->setWindowTitle("模式设置"); modechoose_another->show(); }
全局变量在某处被修改,其值更新为现值,其余处的检测、判断条件就可以起作用了,例如采取定时器刷新来显示当前该Global变量的值
这就很好了,主界面就不需要设计的如此复杂了,多定义从界面、全局变量(当然是设定层面,但也挺多),这可以很大程度上增加主界面的功能容量,并且,尽可能显示最直观的“必要信息和操作之类”
关于调试信息?
if(QObject::connect(ui->querenanniiu,SIGNAL(clicked()),this,SLOT(OK_BUTTON()))) { qDebug()<<"Connect OK button success!"; ui->debugmation->append("Connect OK button success!"); }
实际上后台打印要比前台显示更,所谓的雅观,因为前台显示能看见(即使后期发布会做屏蔽,但,也是个麻烦事),而CONSOLE却比较懂人心,直接在后台处理了(实际上CONSOLE也可以在运行界面时同时显示🐸)
之前Python写的浏览器就是CONSOLE同步显示,实际上产品不会这样,但是作为一种直观的测试途径,对于设计者,能看见自然更能快速的发现程序的运行状况,修起来也方便
退出从界面!
从界面自然有带默认退出功能(x)键,但是即使我们不设置额外的退出键,在设定完成之后也应该主动退出从界面,这里可以有两个(目前试过的)
- exit()
- close()
void SetSaveMode::CANCEL_BUTTON() { // //exit(0); this->close(); }
前一个直接退出整个程序了,后一个的话是退出当前从界面(从进程),所以,后一个靠谱,如果为了设定强制退出功能,可以使用第一个(防卡,直接给消灭进程)
靠谱的代码应该鲁棒性较高,换一个说法,也可以表述成武装到牙齿!!!