Qt中兩個視窗相互操作

2021-07-25 23:34:49 字數 615 閱讀 7613

qt中兩個視窗相互操作,舉乙個栗子就是兩個視窗相互關閉(視窗1中的pushbutton關閉視窗2;視窗2中的pushbutton關閉視窗1;)

qt中的視窗都是乙個乙個的類,所以最開始就想到了使用類的操作方法,即使用指標(否則兩個類無限呼叫),如下圖:

但是,這種方法只能用於同乙個函式下,也就是都得在main()下面。不巧的是qt中的類並非全域性的類,使用extern也不能申請(編譯不會報錯,但是使用時出錯);而類的申請也不一定就都在main()下面。

因此只能使用connect連線,而我發現圖形介面裡的訊號和槽並不能連線不同視窗,如下圖:

解決辦法:

所以唯一的辦法就只能使用connect在**裡面:(注意,當乙個類裡面建立了另乙個類的物件時,只能在前者中connect)

WPF中兩個視窗的互斥

這裡所講的互斥是兩個視窗不同時存在,開啟一,只顯示一 點一相關按鈕顯示二,關閉一 關閉二,顯示一。視窗一 history winresult winchoice new winresult winchoice.owner this winchoice.isshow true winchoice.ac...

C 中兩個窗體將相互跳轉

首先 program.cs 中 stathread static void main form1 button clickform2 f new form2 f.show this.close form2 button click form1 f new form1 f.show this.clos...

C 中兩個窗體將相互跳轉

首先 program.cs 中 csharp view plain copy stathread static void main form1 button click csharp view plain copy form2 f newform2 f.show this close form2 b...