/qt_gui/qt_testcases.py (350e2227d6e5ce8056a37c6d6421de97db8f57c4) (3136 bytes) (mode 100644) (type blob)
import sys
from ..testcases import testcases_nD
from ..testcases import gaussian_2D, testcases_2D, testcases_2D_papers
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore, QtWidgets
unparametrized_testcases = [
(gaussian_2D, "Gaussian 2D testcases"),
(testcases_2D_papers, "Well-known 2D testcases"),
(testcases_2D, "2D testcases"),
]
class TestCasesListWidget(QtGui.QListWidget):
def __init__(self, module, parent=None):
self.module = module
super().__init__(parent)
self.addItems(module.__all__)
def extract_selected_item(self):
item = self.currentItem()
if item is None:
return getattr(self.module, self.module.__all__[0])
else:
item_str = self.currentItem().text()
return getattr(self.module, item_str)
class SelectTestCaseWidget(pg.LayoutWidget):
def __init__(self, parent=None):
#č nejdřív vytvořiť apku
self.app = pg.mkQApp("WellMet")
#
super().__init__(parent)
self.setup()
#č zobraziť
self.show()
#č a spustit smyčku
self.app.exec_()
def setup(self):
self.setWindowTitle("Select testcase")
self.box = None
self.setup_tabs()
self.addWidget(self.tabs, row=0, col=0, rowspan=1, colspan=2)
self.btn_exit = QtGui.QPushButton('Exit')
self.addWidget(self.btn_exit, row=1, col=0)
self.btn_exit.clicked.connect(self.exit)
self.btn_choose = QtGui.QPushButton('Next')
self.addWidget(self.btn_choose, row=1, col=1)
self.btn_choose.clicked.connect(self.choose)
def exit(self):
self.app.quit()
sys.exit()
def choose(self):
tab_index = self.tabs.currentIndex()
if tab_index == 0:
ndim, ok = QtGui.QInputDialog.getInt(self,\
"Enter dimension of the problem","ndim", value=2, min=2)
if not ok:
ndim = 2
testcase_helper = self.tab_nd.extract_selected_item()
self.box = testcase_helper(ndim)
else:
tab_widget = self.tab_widgets[tab_index-1]
testcase_helper = tab_widget.extract_selected_item()
self.box = testcase_helper()
self.app.quit()
def setup_tabs(self):
# Initialize tab screen
self.tabs = QtWidgets.QTabWidget(self)
## Add tabs
# nD - parametrized
self.tab_nd = TestCasesListWidget(testcases_nD, self)
self.tabs.addTab(self.tab_nd, "nD testcases")
# the rest - unparametrized
self.tab_widgets = []
for testcases, description in unparametrized_testcases:
tab_widget = TestCasesListWidget(testcases, self)
self.tabs.addTab(tab_widget, description)
#č ať nám pythonovej GC nekrešne appku
self.tab_widgets.append(tab_widget)
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
28117 |
0907e38499eeca10471c7d104d4b4db30b8b7084 |
IS_stat.py |
100644 |
blob |
6 |
0916b75b752887809bac2330f3de246c42c245cd |
__init__.py |
100644 |
blob |
72 |
458b7e2ca46acd9ec0d2caf3cc4d72e515bb73dc |
__main__.py |
100644 |
blob |
73368 |
3d245b8568158ac63c80fa0847631776a140db0f |
blackbox.py |
100644 |
blob |
11243 |
10c424c2ce5e8cdd0da97a5aba74c54d1ca71e0d |
candybox.py |
100644 |
blob |
29927 |
066a2d10ea1d21daa6feb79fa067e87941299ec4 |
convex_hull.py |
100644 |
blob |
102798 |
059ae717e71c651975673420cd8230fbef171e5e |
dicebox.py |
100644 |
blob |
36930 |
a775d1114bc205bbd1da0a10879297283cca0d4c |
estimation.py |
100644 |
blob |
34394 |
3f0ab9294a9352a071de18553aa687c2a9e6917a |
f_models.py |
100644 |
blob |
35721 |
3daee87ec0bc670207356490e16f200fed0d4fc4 |
g_models.py |
100644 |
blob |
20908 |
457329fe567f1c0a9950c21c7c494cccf38193cc |
ghull.py |
100644 |
blob |
2718 |
5d721d117448dbb96c554ea8f0e4651ffe9ac457 |
gp_plot.py |
100644 |
blob |
29393 |
96162a5d181b8307507ba2f44bafe984aa939163 |
lukiskon.py |
100644 |
blob |
2004 |
6ea8dc8f50a656c48f786d5a00bd6398276c9741 |
misc.py |
040000 |
tree |
- |
c1998680b852b2d9d44417719a05dba630503368 |
mplot |
100644 |
blob |
1462 |
437b0d372b6544c74fea0d2c480bb9fd218e1854 |
plot.py |
100644 |
blob |
2807 |
1feb1d43e90e027f35bbd0a6730ab18501cef63a |
plotly_plot.py |
040000 |
tree |
- |
bfb2adfd17a5c916d2a132e2607f57f14561559e |
qt_gui |
100644 |
blob |
8566 |
5c8f8cc2a34798a0f25cb9bf50b5da8e86becf64 |
reader.py |
100644 |
blob |
4284 |
a0e0b4e593204ff6254f23a67652804db07800a6 |
samplebox.py |
100644 |
blob |
6558 |
df0e88ea13c95cd1463a8ba1391e27766b95c3a5 |
sball.py |
100644 |
blob |
6739 |
0b6f1878277910356c460674c04d35abd80acf13 |
schemes.py |
100644 |
blob |
76 |
11b2fde4aa744a1bc9fa1b419bdfd29a25c4d3e8 |
shapeshare.py |
100644 |
blob |
54884 |
fbe116dab4fc19bb7568102de21f53f15a8fc6bf |
simplex.py |
100644 |
blob |
13090 |
2b9681eed730ecfadc6c61b234d2fb19db95d87d |
spring.py |
100644 |
blob |
10953 |
da8a8aaa8cac328ec0d1320e83cb802b562864e2 |
stm_df.py |
040000 |
tree |
- |
8528f771e081cc1d2a9dc50a6e1d4f8f20b711d6 |
testcases |
100644 |
blob |
2465 |
d829bff1dd721bdb8bbbed9a53db73efac471dac |
welford.py |
100644 |
blob |
25318 |
fcdabd880bf7199783cdb9c0c0ec88c9813a5b18 |
whitebox.py |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/WellMet
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/WellMet
Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/WellMet
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main