我正在将我的Bootstrap主题从v2.3.2迁移到v3.0.0,我注意到的一件事是由于bootstrap.css中的以下样式,很多维度的计算方式不同.
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么Bootstrap将所有元素的盒子大小都切换到边框?我怀疑它与基于百分比的新网格系统有关,但上面的选择器显然不仅适用于网格元素.
似乎有点激进imho :-)
有人愿意提供一些见解吗?
好的,所以我正在学习wxPython中的sizer,我想知道是否有可能做类似的事情:
==============================================
|WINDOW TITLE _ [] X|
|============================================|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxNOTEBOOKxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|
|________ ___________|
|IMAGE | |LoginForm |
|________| |___________|
==============================================
Run Code Online (Sandbox Code Playgroud)
注意:是的,我从wxPython中得到了这个- 选择正确的sizer在应用程序中使用
随着NOTEBOOK扩展到左侧和底部,IMAGE对齐左侧和底部,loginform对齐到右侧和底部,我设法做几乎所有,但现在我有一个问题..
问题是我不能单独对齐Loginform和Image(我使用Box Sizer),我想.
编辑:所以每个人都可以看到我的意思:"哦,我所指的是,基本上如果我更改了对齐,它会影响LoginForm和Image ..例如,如果我将对齐设置为RIGHT,则图像和由于以下原因,loginform已经与右边对齐:sizer.Add(sizer4,0,wx.ALIGN_RIGHT | wx.RIGHT,10).希望你们这次能理解"
这是我正在使用的代码,目前导致问题,任何帮助表示赞赏.注意:代码可能是(HUGELY)草率,因为我还在学习box sizer.下面是测试代码:
import wx
class Sizerframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'sizertestframe',size=(790, 524))
p = wx.Panel(self)
nb = wx.Notebook(p, size = (750, 332))
button = wx.Button(p, -1, "loginform1rest", size=(94,23))
button1 = wx.Button(p, -1, "Login", size=(94,23))
button2 = wx.Button(p, -1, "Cancel", size=(94,23))
imagebutton = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在wxPython中安排一些面板.布局的粗略表示如下:
基本上,我正在寻找一个左右面板,这样 - 当调整大小时 - 左(橙色)面板(及其内容)永远不会调整大小,右(蓝色)面板可以根据需要拉伸/增长,但只是水平的.
我到目前为止的代码(带有一些随机填充小部件)如下所示.我的问题遵循以下代码:
import wx
import wx.lib.scrolledpanel as scrolled
class MainWindow(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent)
#add position panel
posPnl = IdPanel(self)
lbl1 = wx.StaticText(posPnl, label="Position")
lbl2 = wx.StaticText(posPnl, label="Size")
sizeCtrl = wx.TextCtrl(posPnl)
posPnlSzr = wx.BoxSizer(wx.VERTICAL)
posPnlSzr.Add(lbl1, 1, wx.FIXED&wx.LEFT)
posPnlSzr.Add(sizeCtrl, 1, wx.LEFT&wx.FIXED)
posPnlSzr.Add(lbl2, 1, wx.FIXED&wx.LEFT)
posPnl.SetSizer(posPnlSzr)
posPnl2 = TimelinePanel(self)
lbl12 = wx.StaticText(posPnl2, label="Position")
lbl22 = wx.StaticText(posPnl2, label="Size")
sizeCtrl2 = wx.TextCtrl(posPnl2)
posPnlSzr2 = wx.BoxSizer(wx.VERTICAL)
posPnlSzr2.Add(lbl12, 1, wx.GROW)
posPnlSzr2.Add(sizeCtrl2, 1, wx.GROW)
posPnlSzr2.Add(lbl22, 1, wx.GROW)
posPnl2.SetSizer(posPnlSzr2)
mainSzr = …
Run Code Online (Sandbox Code Playgroud) 如果 a 中子项的大小发生wx.BoxSizer
变化,则 boxsizer 不会重新布局:
import wx
class MyButton(wx.Button):
def __init__(self, parent):
wx.Button.__init__(self, parent, -1, style=wx.SUNKEN_BORDER, label="ABC")
self.Bind(wx.EVT_BUTTON, self.OnClick)
def OnClick(self, event):
self.SetSize((200, 200))
self.SetSizeHints(200, 200)
class MyFrame(wx.Frame):
def __init__(self, parent, ID, title):
wx.Frame.__init__(self, parent, ID, title, size=(300, 250))
self.button = MyButton(self)
button2 = wx.Button(self, -1, style=wx.SUNKEN_BORDER, label="DEF")
# self.button.Bind(wx.EVT_SIZE, self.OnButtonResize)
box = wx.BoxSizer(wx.HORIZONTAL)
box.Add(self.button, 1, wx.EXPAND)
box.Add(button2, 1, wx.EXPAND)
self.SetAutoLayout(True)
self.SetSizer(box)
self.Layout()
def OnButtonResize(self, event):
event.Skip()
self.Layout()
app = wx.App()
frame = MyFrame(None, -1, "Sizer Test")
frame.Show() …
Run Code Online (Sandbox Code Playgroud)