2017-10-01 13 views
0

私のプロジェクトの1つをpython2.7/wxpython 3.0.2.0からpython3.5.2/wxpython 4.0.0b2に変換してみると、すぐにSpinCtrl/SpinButtonという問題が発生しました。
enter image description herewxpython SpinCtrl/SpinButtonがClassicとPhoenixの間で変更されましたか?

ながら:

import wx 

class MainWindow(wx.Frame): 
    def __init__(self, *args, **kwargs): 
     wx.Frame.__init__(self, *args, **kwargs) 
     self.panel = wx.Panel(self) 
     self.SetSize((200,200)) 
     sizer=wx.BoxSizer(wx.VERTICAL) 
     text1 = wx.StaticText(self.panel,-1,"SpinCtrl") 
     self.spin = wx.SpinCtrl(self.panel,-1, size=(100,25),style=wx.SP_VERTICAL) 
     text2 = wx.StaticText(self.panel,-1,"SpinButton") 
     self.spin2 = wx.SpinButton(self.panel,-1, size=(100,25),style=wx.SP_VERTICAL) 
     sizer.Add(text1) 
     sizer.Add(self.spin, 0, wx.LEFT, 15) 
     sizer.Add((-1, -1), proportion=1) 
     sizer.Add(text2) 
     sizer.Add(self.spin2, 0, wx.LEFT, 15) 
     self.SetSizer(sizer) 
     self.Show() 

app = wx.App() 
win = MainWindow(None) 
app.MainLoop() 

python2.7/wxPythonを3.0.2.0で実行している、私はこの結果を得る:
私はこのコードを使用してLinuxのミント18.2

上で実行していますよpython3.5.2/wxpython 4.0.0b2で同じコードを実行すると、次のようになります。 enter image description here

私は午前「古い」垂直スピンコントロールを元の状態に戻すことができます。これは、+/-コントロールを備えたこの新しい「新しい」バージョンよりもはるかに少ないスペースを取ることができるからです。
誰もがwxpython 4.0.0b2で垂直スピンコントロールを取得する方法を知っていますか?

+0

いずれかがgtk2を使用し、もう1つがgtk3ですか? wxPython 4.0.0はほぼ同じバージョンのwxWidgets 3.0.2を使用しているので、どのネイティブウィジェットが使用されているかは変わっていないと思います。 – RobinDunn

+0

@RobinDunnよ!間違ったホイールが取り付けられています。ありがとう! –

答えて

0

Robinが指摘したように、1つのインストールではgtk2ともう1つのgtk3が使用されていました。
次のインストール手順を使用して問題を解決しました。

sudo pip3 install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk2/ubuntu-16.04 wxPython 
関連する問題