@@ -17,8 +17,10 @@ class SamuraiSudoku(QMainWindow, Ui_MainWindow):
17
17
def __init__ (self ):
18
18
super ().__init__ ()
19
19
self .setupUi (self )
20
+ self .threadCount = None
20
21
self .loadButton .clicked .connect (self .chooseFile )
21
22
self .clearButton .clicked .connect (self .clearCells )
23
+ self .solveButton .clicked .connect (self .solveSudoku )
22
24
23
25
def chooseFile (self ):
24
26
self .filePath , self .filetype = QFileDialog .getOpenFileName (
@@ -88,9 +90,11 @@ def setInfo(self, msg):
88
90
def startLoad (self ):
89
91
if self .threadRadioButton5 .isChecked ():
90
92
self .fiveThreadObject = FiveThreadOptions (self )
93
+ self .threadCount = 5
91
94
self .fiveThreadObject .loadCells ()
92
95
else :
93
96
self .tenThreadObject = TenThreadOptions (self )
97
+ self .threadCount = 10
94
98
self .tenThreadObject .loadCells ()
95
99
96
100
def clearCells (self ):
@@ -108,6 +112,24 @@ def clearCell(self, i, j):
108
112
def clearCellIsDone (self ):
109
113
self .setInfo ("Sample sudoku is cleared successfully!" )
110
114
115
+ def solveSudoku (self ):
116
+ self .setClickables (False )
117
+ if self .threadCount == 5 :
118
+ self .fiveThreadObject .solveSudoku ()
119
+ elif self .threadCount == 10 :
120
+ pass
121
+ else :
122
+ self .setInfo ("Unknow Error!" )
123
+
124
+ def setClickables (self , status ):
125
+ self .solveButton .setEnabled (status )
126
+ self .loadButton .setEnabled (status )
127
+ self .clearButton .setEnabled (status )
128
+ self .threadRadioButton5 .setEnabled (status )
129
+ self .threadRadioButton10 .setEnabled (status )
130
+
131
+ def setEnabledTrue (self ):
132
+
111
133
112
134
class ClearCellWorker (QThread ):
113
135
clearCell = pyqtSignal (int , int )
0 commit comments