本文整理匯總了Python中kivy.core.window.Window.size方法的典型用法代碼示例。如果您正苦於以下問題:Python Window.size方法的具體用法?Python Window.size怎麽用?Python Window.size使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類kivy.core.window.Window
的用法示例。
在下文中一共展示了Window.size方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _list_sdcard_results
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def _list_sdcard_results(self, l):
# dismiss waiting dialog
fl = {}
for f in l:
f = '/sd/{}'.format(f)
# if f.endswith('/'):
# fl[f[:-1]] = {'size': 0, 'isdir': True}
# else:
# fl[f] = {'size': 0, 'isdir': False}
# as we can't handle subdirectories yet we do not list them
if not f.endswith('/'):
fl[f] = {'size': 0, 'isdir': False}
# get file to print
f = FileDialog()
f.open(title='SD File to print', file_list=fl, cb=self._start_sd_print)
示例2: window_request_close
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def window_request_close(self, win):
if self.desktop_changed:
# if the desktop changed we reset the window size and pos
if self.config.get('UI', 'screen_size') != 'none':
self.config.set('UI', 'screen_size', 'auto')
if self.config.get('UI', 'screen_pos') != 'none':
self.config.set('UI', 'screen_pos', 'auto')
self.config.write()
elif self.is_desktop == 2 or self.is_desktop == 3:
if self.config.get('UI', 'screen_size') != 'none':
# Window.size is automatically adjusted for density, must divide by density when saving size
self.config.set('UI', 'screen_size', "{}x{}".format(int(Window.size[0] / Metrics.density), int(Window.size[1] / Metrics.density)))
if self.config.get('UI', 'screen_pos') != 'none':
self.config.set('UI', 'screen_pos', "{},{}".format(Window.top, Window.left))
Logger.info('SmoothieHost: close Window.size: {}, Window.top: {}, Window.left: {}'.format(Window.size, Window.top, Window.left))
self.config.write()
return False
示例3: draw_mathtext
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def draw_mathtext(self, gc, x, y, s, prop, angle):
'''Draw the math text using matplotlib.mathtext. The position
x,y is given in Kivy coordinates.
'''
ftimage, depth = self.mathtext_parser.parse(s, self.dpi, prop)
w = ftimage.get_width()
h = ftimage.get_height()
texture = Texture.create(size=(w, h))
if _mpl_ge_1_5:
texture.blit_buffer(ftimage.as_rgba_str()[0][0], colorfmt='rgba',
bufferfmt='ubyte')
else:
texture.blit_buffer(ftimage.as_rgba_str(), colorfmt='rgba',
bufferfmt='ubyte')
texture.flip_vertical()
with self.widget.canvas:
Rectangle(texture=texture, pos=(x, y), size=(w, h))
示例4: get_text_width_height_descent
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def get_text_width_height_descent(self, s, prop, ismath):
'''This method is needed specifically to calculate text positioning
in the canvas. Matplotlib needs the size to calculate the points
according to their layout
'''
if ismath:
ftimage, depth = self.mathtext_parser.parse(s, self.dpi, prop)
w = ftimage.get_width()
h = ftimage.get_height()
return w, h, depth
font = resource_find(prop.get_name() + ".ttf")
if font is None:
plot_text = CoreLabel(font_size=prop.get_size_in_points())
else:
plot_text = CoreLabel(font_size=prop.get_size_in_points(),
font_name=prop.get_name())
plot_text.text = six.text_type("{}".format(s))
plot_text.refresh()
return plot_text.texture.size[0], plot_text.texture.size[1], 1
示例5: get_fixed_points
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def get_fixed_points(self, x, y, move=False):
# _size = EventLoop.window.system_size
_size = Window.size
_size = self.size
if move:
_x = x / _size[0]
_y = y / _size[1]
return _x * self.MPICKING_BUFFER_SIZE[0], _y * self.MPICKING_BUFFER_SIZE[1]
#_x = x / _size[0]
#_y = y / _size[1]
pos = self.parent.pos
if x < pos[0] or x > pos[0]+_size[0] or y < pos[1] or y > pos[1]+_size[1]:
return -1, -1
_x = (x-pos[0]) / _size[0]
_y = (y-pos[1]) / _size[1]
return _x * self.MPICKING_BUFFER_SIZE[0], _y * self.MPICKING_BUFFER_SIZE[1]
示例6: get_zoom_for_radius
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def get_zoom_for_radius(radius_km, lat=None, tile_size=256.):
"""See: https://wiki.openstreetmap.org/wiki/Zoom_levels"""
radius = radius_km * 1000.
if lat is None:
lat = 0. # Do not compensate for the latitude
# Calculate the equatorial circumference based on the WGS-84 radius
earth_circumference = 2. * pi * 6378137. * cos(lat * pi / 180.)
# Check how many tiles that are currently in view
nr_tiles_shown = min(Window.size) / dp(tile_size)
# Keep zooming in until we find a zoom level where the circle can fit inside the screen
zoom = 1
while earth_circumference / (2 << (zoom - 1)) * nr_tiles_shown > 2 * radius:
zoom += 1
return zoom - 1 # Go one zoom level back
示例7: show_dialog
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def show_dialog(self, title, message, qrdata=None, cb=None):
if qrdata:
dialog_height = 300
content = QRCodeWidget(data=qrdata,
size=(dp(150), dp(150)),
size_hint=(None, None))
else:
dialog_height = 200
content = MDLabel(font_style='Body1',
theme_text_color='Secondary',
text=message,
size_hint_y=None,
valign='top')
content.bind(texture_size=content.setter('size'))
self.dialog = MDDialog(title=title,
content=content,
size_hint=(.8, None),
height=dp(dialog_height),
auto_dismiss=False)
self.dialog.add_action_button(
"Dismiss", action=cb if cb else lambda *x: self.dialog.dismiss())
self.dialog.open()
示例8: _heading
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def _heading(game, view):
heading = Label(font_name='DroidSans-Regular.ttf', font_size=18,
color=HEADING_COLOR, markup=False)
heading.pos = (ANIM_TOGGLE_SIZE, 500 - PADDING)
heading.size = (960 - ANIM_TOGGLE_SIZE * 2, HEIGHT)
view.add_widget(heading)
def state_change(btn, state):
game.set_animooted(state == 'down')
anim_toggle = ToggleButton(background_normal='media/chkbox.png',
background_down='media/chkbox_a.png',
border=(0, 0, 0, 20), font_size=15,
text='Display Animations', state='down',
color=HEADING_COLOR, markup=False)
anim_toggle.pos = (965 - ANIM_TOGGLE_SIZE, 510 - PADDING)
anim_toggle.size = (ANIM_TOGGLE_SIZE, 30)
anim_toggle.bind(state=state_change)
view.add_widget(anim_toggle)
game._heading = heading
game.update_heading()
示例9: init_ui
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def init_ui(game):
view = Widget()
_heading(game, view)
_notes(game, view)
_scales(game, view)
_tuning(game, view)
view.add_widget(game)
if platform in ('android', 'ios'):
from kivy.core.window import Window
from kivy.uix.scrollview import ScrollView
app_view = view
app_view.size = (960, 540)
app_view.size_hint = (None, None)
view = ScrollView(size=Window.size)
view.effect_cls = ScrollEffect
view.add_widget(app_view)
return view
示例10: __init__
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def __init__(self, **kwargs):
super(MainWindow, self).__init__(**kwargs)
self.app = App.get_running_app()
self._trigger = Clock.create_trigger(self.async_get_display_data)
self._q = queue.Queue()
self.config = self.app.config
self.last_path = self.config.get('General', 'last_gcode_path')
self.paused = False
self.last_line = 0
# print('font size: {}'.format(self.ids.log_window.font_size))
# Clock.schedule_once(self.my_callback, 2) # hack to overcome the page layout not laying out initially
示例11: __init__
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def __init__(self, comms=None, **kwargs):
super(GcodeViewerScreen, self).__init__(**kwargs)
self.app = App.get_running_app()
self.last_file_pos = None
self.canv = InstructionGroup()
self.bind(pos=self._redraw, size=self._redraw)
self.last_target_layer = 0
self.tx = 0
self.ty = 0
self.scale = 1.0
self.comms = comms
self.twod_mode = self.app.is_cnc
self.rval = 0.0
示例12: start_cursor
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def start_cursor(self, x, y):
tx, ty = self.transform_to_wpos(x, y)
label = CoreLabel(text="{:1.2f},{:1.2f}".format(tx, ty))
label.refresh()
texture = label.texture
px, py = (x, y)
with self.ids.surface.canvas.after:
Color(0, 0, 1, mode='rgb', group='cursor_group')
self.crossx = [
Rectangle(pos=(px, 0), size=(1, self.height), group='cursor_group'),
Rectangle(pos=(0, py), size=(self.width, 1), group='cursor_group'),
Line(circle=(px, py, 20), group='cursor_group'),
Rectangle(texture=texture, pos=(px - texture.size[0] / 2, py - 40), size=texture.size, group='cursor_group')
]
示例13: build
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def build(self):
Window.size = (1024, 768)
self.sm = ScreenManager()
self.sm.add_widget(StartScreen(name='start'))
self.sm.add_widget(GcodeViewerScreen(name='gcode'))
self.sm.add_widget(ExitScreen(name='main'))
self.sm.current = 'gcode'
level = LOG_LEVELS.get('debug') if len(sys.argv) > 2 else LOG_LEVELS.get('info')
Logger.setLevel(level=level)
# logging.getLogger().setLevel(logging.DEBUG)
return self.sm
示例14: handle_clip_rectangle
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def handle_clip_rectangle(self, gc, x, y):
'''It checks whether the point (x,y) collides with any already
existent stencil. If so it returns the index position of the
stencil it collides with. if the new clip rectangle bounds are
None it draws in the canvas otherwise it finds the correspondent
stencil or creates a new one for the new graphics instructions.
The point x,y is given in matplotlib coordinates.
'''
x = self.widget.x + x
y = self.widget.y + y
collides = self.collides_with_existent_stencil(x, y)
if collides > -1:
return collides
new_bounds = gc.get_clip_rectangle()
if new_bounds:
x = self.widget.x + int(new_bounds.bounds[0])
y = self.widget.y + int(new_bounds.bounds[1])
w = int(new_bounds.bounds[2])
h = int(new_bounds.bounds[3])
collides = self.collides_with_existent_stencil(x, y)
if collides == -1:
cliparea = StencilView(pos=(x, y), size=(w, h))
self.clip_rectangles.append(cliparea)
self.widget.add_widget(cliparea)
return len(self.clip_rectangles) - 1
else:
return collides
else:
return -2
示例15: __init__
# 需要導入模塊: from kivy.core.window import Window [as 別名]
# 或者: from kivy.core.window.Window import size [as 別名]
def __init__(self, canvas, **kwargs):
self.actionbar = ActionBar(pos_hint={'top': 1.0})
super(NavigationToolbar2Kivy, self).__init__(canvas)
self.rubberband_color = (1.0, 0.0, 0.0, 1.0)
self.lastrect = None
self.save_dialog = Builder.load_string(textwrap.dedent('''\
<SaveDialog>:
text_input: text_input
BoxLayout:
size: root.size
pos: root.pos
orientation: "vertical"
FileChooserListView:
id: filechooser
on_selection: text_input.text = self.selection and\
self.selection[0] or ''
TextInput:
id: text_input
size_hint_y: None
height: 30
multiline: False
BoxLayout:
size_hint_y: None
height: 30
Button:
text: "Cancel"
on_release: root.cancel()
Button:
text: "Save"
on_release: root.save(filechooser.path,\
text_input.text)
'''))