对话弹窗 QDialog对象的三种特有信号 accepted, rejected, finished 的操作相关。
1.主窗口创建,弹窗创建
1、导入模块,创建应用程序对象,顶层窗口对象;
2、主窗添加子控件,并将子控件封装为 setup_ui() 函数。----文本框控件;----按钮控件;
3、监听顶层窗口尺寸。----设置子控件文本框大小与主窗口同步;----设置按钮位置相对文本框不变。
4、定义函数,封装弹窗的相关代码,----创建弹窗对象;----设置标题等初始值,添加子控件QLabel 显示弹窗提示内容;----并将主窗口的‘测试按钮’的clicked信号连接此函数。
5、给弹窗添加三个按钮,并设置初始值;
2.弹窗信号
1、ac罕铞泱殳cepted 信号;首先要知道accept()的功能是:①关闭对话框,②此时对话框的返回代码是 1;蝙篚饨棉③并发出 accepted 信号。④发射finished信号(在下面解释)----那么我们可以对返回代码进行判断操作:看下面的连接。----也可以为弹窗的 accepted 信号,来连接槽函数操作;例如图例中:①先调用 accept()方法,发出accepted信号;②定义一个槽函数;accepted信号连接槽函数,实现想要的动作,改变文本框背景颜色;
2、rejected信号;首先要知道reject()的功能是:①关闭对话框,②此时对话框的返回代码是 0;③并发出rejected信号。④发射finished信号(在下面解释)rejected信号,操作步骤与accepted 信号一样;例如图例中:操作后不做任何改变;
3、finishe蟠校盯昂d信号;done(int)函数的功能:①关闭对话框;②此时对话框的返回代码是 int;③发射熠硒勘唏finished信号;④finished信号携带一个参数,即设置的代码int。例如图例中:----调用done()函数,设置对话框的返回代码 int 为100;----发射的finished信号连接定义的槽函数;并定义一个槽函数参数value;
4、使用 accept(),reject() 函数时,他们不但发射了自身对应的信号,并发射finished信号。例如:睫撮槐攻弹窗出现后,当点击‘accept’按钮时,先执行了finished信号连接的槽函数;打印:完成后返回代码:1 ;其中参数value 就是accept 的代码。然后执行连接 accepted 信号连接的槽函数;改变文本框背景颜色;