本文整理汇总了Python中glue.app.qt.preferences.PreferencesDialog类的典型用法代码示例。如果您正苦于以下问题:Python PreferencesDialog类的具体用法?Python PreferencesDialog怎么用?Python PreferencesDialog使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PreferencesDialog类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_custom_pane
def test_custom_pane(self):
settings = MagicMock()
class CustomPreferences(QtWidgets.QWidget):
def __init__(self, parent=None):
super(CustomPreferences, self).__init__(parent=parent)
self.layout = QtWidgets.QFormLayout()
self.option1 = QtWidgets.QLineEdit()
self.option2 = QtWidgets.QLineEdit()
self.layout.addRow("Option 1", self.option1)
self.layout.addRow("Option 2", self.option2)
self.setLayout(self.layout)
def finalize(self):
settings.OPTION1 = "Monty"
settings.OPTION2 = "Python"
preference_panes = [('Custom', CustomPreferences)]
with patch('glue.config.preference_panes', preference_panes):
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.accept()
assert settings.OPTION1 == "Monty"
assert settings.OPTION2 == "Python"
示例2: test_theme_autodetect
def test_theme_autodetect(self):
# If we don't change anything, settings should be preserved
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'white'
settings.BACKGROUND_COLOR = 'black'
settings.DATA_COLOR = '0.75'
settings.DATA_ALPHA = 0.8
dialog = PreferencesDialog(self.app)
dialog.show()
assert dialog.theme == 'White on Black'
dialog.accept()
settings.FOREGROUND_COLOR = 'black'
settings.BACKGROUND_COLOR = 'white'
settings.DATA_COLOR = '0.35'
settings.DATA_ALPHA = 0.8
dialog = PreferencesDialog(self.app)
dialog.show()
assert dialog.theme == 'Black on White'
dialog.accept()
示例3: test_settings_change_message
def test_settings_change_message(self):
# Make sure that a SettingsChangeMessage gets emitted when settings
# change in the dialog
class TestListener(HubListener):
def __init__(self, hub):
hub.subscribe(self, SettingsChangeMessage,
handler=self.receive_message)
self.received = []
def receive_message(self, message):
self.received.append(message)
listener = TestListener(self.app._hub)
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.foreground = (0, 1, 1)
dialog.accept()
assert len(listener.received) == 1
assert listener.received[0].settings == ('FOREGROUND_COLOR', 'BACKGROUND_COLOR')
示例4: test_no_change
def test_no_change(self):
# If we don't change anything, settings should be preserved
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
assert dialog.theme == 'Custom'
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (1, 0, 0)
assert rgb(settings.BACKGROUND_COLOR) == (0, 0.5, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
示例5: _edit_settings
def _edit_settings(self):
self._editor = PreferencesDialog(self)
self._editor.show()
示例6: GlueApplication
#.........这里部分代码省略.........
"""
Add a widget to one of the tabs.
Returns the window that this widget is wrapped in.
:param new_widget: new QtWidgets.QWidget to add
:param label: label for the new window. Optional
:type label: str
:param tab: Tab to add to. Optional (default: current tab)
:type tab: int
:param hold_position: If True, then override Qt's default
placement and retain the original position
of new_widget
:type hold_position: bool
"""
page = self.tab(tab)
pos = getattr(new_widget, 'position', None)
sub = new_widget.mdi_wrap()
sub.closed.connect(self._clear_dashboard)
if label:
sub.setWindowTitle(label)
page.addSubWindow(sub)
page.setActiveSubWindow(sub)
if hold_position and pos is not None:
new_widget.move(pos[0], pos[1])
return sub
def _edit_settings(self):
self._editor = PreferencesDialog(self)
self._editor.show()
def gather_current_tab(self):
"""Arrange windows in current tab via tiling"""
self.current_tab.tileSubWindows()
def _get_plot_dashboards(self, sub_window):
if not isinstance(sub_window, GlueMdiSubWindow):
return QtWidgets.QWidget(), QtWidgets.QWidget(), ""
widget = sub_window.widget()
if not isinstance(widget, DataViewer):
return QtWidgets.QWidget(), QtWidgets.QWidget(), ""
layer_view = widget.layer_view()
options_widget = widget.options_widget()
return layer_view, options_widget, str(widget)
def _clear_dashboard(self):
for widget, title in [(self._ui.plot_layers, "Plot Layers"),
(self._ui.plot_options, "Plot Options")]:
layout = widget.layout()
if layout is None:
layout = QtWidgets.QVBoxLayout()
layout.setContentsMargins(4, 4, 4, 4)
widget.setLayout(layout)
while layout.count():
layout.takeAt(0).widget().hide()
widget.setTitle(title)
示例7: test_themes
def test_themes(self):
# Check that themes work
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.theme = 'White on Black'
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.DATA_COLOR) == (0.75, 0.75, 0.75)
assert settings.DATA_ALPHA == 0.8
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.theme = 'Black on White'
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.BACKGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.DATA_COLOR) == (0.35, 0.35, 0.35)
assert settings.DATA_ALPHA == 0.8
示例8: test_foreground_background_settings
def test_foreground_background_settings():
d_1d = Data(x=np.random.random(100), y=np.random.random(100), label='Data 1d')
d_2d = Data(x=np.random.random((100, 100)), y=np.random.random((100, 100)), label='Data 2d')
dc = DataCollection([d_1d, d_2d])
app = GlueApplication(dc)
# Make sure that settings change existing viewers, so we create a bunch of
# viewers here.
scatter1 = app.new_data_viewer(ScatterWidget)
scatter1.add_data(d_1d)
image1 = app.new_data_viewer(ImageWidget)
image1.add_data(d_2d)
histogram1 = app.new_data_viewer(HistogramWidget)
histogram1.add_data(d_1d)
dendrogram1 = app.new_data_viewer(DendroWidget)
example_custom = _generate_custom_viewer()
custom1 = app.new_data_viewer(example_custom)
RED = (1, 0, 0, 0.5)
GREEN = (0, 1, 0, 0.6)
app.show()
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'black'
settings.BACKGROUND_COLOR = 'white'
settings.DATA_COLOR = '0.5'
settings.DATA_ALPHA = 0.5
dialog = PreferencesDialog(app)
dialog.show()
dialog.background = RED
dialog.foreground = GREEN
dialog.accept()
assert_axes_background(scatter1.axes, RED)
assert_axes_background(image1.axes, RED)
assert_axes_background(histogram1.axes, RED)
assert_axes_background(dendrogram1.axes, RED)
assert_axes_background(custom1.axes, RED)
assert_axes_foreground(scatter1.axes, GREEN)
assert_axes_foreground(image1.axes, GREEN)
assert_axes_foreground(histogram1.axes, GREEN)
assert_axes_foreground(dendrogram1.axes, GREEN)
assert_axes_foreground(custom1.axes, GREEN)
# Now make sure that new viewers also inherit these settings
scatter2 = app.new_data_viewer(ScatterWidget)
scatter2.add_data(d_1d)
image2 = app.new_data_viewer(ImageWidget)
image2.add_data(d_2d)
histogram2 = app.new_data_viewer(HistogramWidget)
histogram2.add_data(d_1d)
dendrogram2 = app.new_data_viewer(DendroWidget)
custom2 = app.new_data_viewer(example_custom)
assert_axes_background(scatter2.axes, RED)
assert_axes_background(image2.axes, RED)
assert_axes_background(histogram2.axes, RED)
assert_axes_background(dendrogram2.axes, RED)
assert_axes_background(custom2.axes, RED)
assert_axes_foreground(scatter2.axes, GREEN)
assert_axes_foreground(image2.axes, GREEN)
assert_axes_foreground(histogram2.axes, GREEN)
assert_axes_foreground(dendrogram2.axes, GREEN)
assert_axes_foreground(custom2.axes, GREEN)
示例9: test_save_to_disk
def test_save_to_disk(self, tmpdir):
with patch('glue.config.settings') as settings:
with patch('glue.config.CFG_DIR', tmpdir.strpath):
settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.save_to_disk = False
dialog.accept()
assert not os.path.exists(os.path.join(tmpdir.strpath, 'settings.cfg'))
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.save_to_disk = True
dialog.accept()
assert os.path.exists(os.path.join(tmpdir.strpath, 'settings.cfg'))
示例10: test_custom_changes
def test_custom_changes(self):
# Check that themes work
with patch('glue.config.settings') as settings:
settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.foreground = (0, 1, 1)
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (0, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (0, 0.5, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.background = (1, 0, 1)
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (0, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.data_color = (1, 1, 0.5)
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (0, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.3
dialog = PreferencesDialog(self.app)
dialog.show()
dialog.data_alpha = 0.4
dialog.accept()
assert rgb(settings.FOREGROUND_COLOR) == (0, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.4
示例11: _edit_settings
def _edit_settings(self, *args):
self._editor = PreferencesDialog(self, parent=self)
self._editor.show()
示例12: GlueApplication
#.........这里部分代码省略.........
# Find first tab that supports addSubWindow
if tab is None:
if hasattr(self.current_tab, 'addSubWindow'):
pass
else:
for tab in range(self.tab_count):
page = self.tab(tab)
if hasattr(page, 'addSubWindow'):
break
else:
self.new_tab()
tab = self.tab_count - 1
page = self.tab(tab)
pos = getattr(new_widget, 'position', None)
sub = new_widget.mdi_wrap()
sub.closed.connect(self._update_viewer_in_focus)
if label:
sub.setWindowTitle(label)
page.addSubWindow(sub)
page.setActiveSubWindow(sub)
if hold_position and pos is not None:
new_widget.move(pos[0], pos[1])
self.tab_widget.setCurrentWidget(page)
return sub
def _edit_settings(self, *args):
self._editor = PreferencesDialog(self, parent=self)
self._editor.show()
def gather_current_tab(self, *args):
"""Arrange windows in current tab via tiling"""
self.current_tab.tileSubWindows()
def _get_plot_dashboards(self, widget):
if not isinstance(widget, DataViewer):
return QtWidgets.QWidget(), QtWidgets.QWidget(), ""
layer_view = widget.layer_view()
options_widget = widget.options_widget()
return layer_view, options_widget, str(widget)
def _clear_dashboard(self):
for widget, title in [(self._ui.plot_layers, "Plot Layers"),
(self._ui.plot_options, "Plot Options")]:
layout = widget.layout()
if layout is None:
layout = QtWidgets.QVBoxLayout()
layout.setContentsMargins(4, 4, 4, 4)
widget.setLayout(layout)
while layout.count():
layout.takeAt(0).widget().hide()
self._ui.plot_options_label.setText("Plot Options")
self._ui.plot_layers_label.setText("Plot Layers")
def _update_plot_dashboard(self, *args):