So I'm 100% new to ruby qt, I'm used to python, and I got the basics but because the QMenuBar wont align properly with just Qt::Widget I have been trying to figure out the QMainWindow command. I know its like 1000% easy the second you tell me but the .setCentralWidget command doesnt seem to work for ruby so I'm just lost...
Here is my "testing" code if you get the question you really dont need this but if I dont put it up some one wil be like wherreee yourrr codddee!!! I dont get it?
require 'Qt'
class Window < Qt::Widget
slots 'slotAbout()', 'slotExit()', 'slotNew()'
def initialize(parent = nil)
super(parent)
#menubar part
@menubar = Qt::MenuBar.new(self)
@menubar.setObjectName('menubar')
@menuFile = Qt::Menu.new(@menubar)
@menuFile.setObjectName('menuFile')
@menuFile.setTitle('File')
@menuHelp = Qt::Menu.new(@menubar)
@menuHelp.setObjectName('menuHelp')
@menuHelp.setTitle('&Help')
@actionNew = Qt::Action.new(self)
@actionNew.setObjectName('actionNew')
@actionNew.setText('New')
@actionExit = Qt::Action.new(self)
@actionExit.setObjectName('actionExit')
@actionExit.setText('Exit')
@actionAbout = Qt::Action.new(self)
@actionAbout.setObjectName('actionAbout')
@actionAbout.setText('About')
@menubar.addAction(@menuFile.menuAction())
@menubar.addAction(@menuHelp.menuAction())
@menuFile.addAction(@actionNew)
@menuFile.addAction(@actionExit)
@menuHelp.addAction(@actionAbout)
@text = Qt::LineEdit.new
@textbox.setStyleSheet "QWidget { color : #f52c01 }"
@textbox.setStyleSheet "QWidget { color : #009600 }"
@text.setStyleSheet "QWidget { color : black }"
@text.setText(tr("Somthing"))
connect(@actionExit, SIGNAL('triggered()'), self, SLOT('slotExit()'))
connect(@actionNew, SIGNAL('triggered()'), self, SLOT('slotNew()'))
connect(@actionAbout, SIGNAL('triggered()'), self, SLOT('slotAbout()'))
#causes some bugs
# statusbar = Qt::StatusBar.new(self)
# statusbar.setObjectName('statusbar')
#examples of groups
oneGroup = Qt::GroupBox.new(tr("GroupOne"))
oneLabel = Qt::Label.new(tr("One"))
twoGroup = Qt::GroupBox.new(tr("GroupTwo"))
twoLabel = Qt::Label.new(tr("One, I mean two!"))
twoslider = Qt::Slider.new(Qt::Horizontal)
twoslider.setRange(0, 5)
twoslider.setValue(0)
#connecting objects to slots
# connect(onething, SIGNAL('thing(int)'), self, SLOT('slotAbout( int )'))
#layout set up using groups
oneLayout = Qt::GridLayout.new
oneLayout.addWidget(oneLabel, 0, 0)
oneLayout.addWidget(@text, 1, 0)
oneGroup.layout = oneLayout
twoLayout = Qt::GridLayout.new
twoLayout.addWidget(twoLabel, 0, 0)
twoLayout.addWidget(twoslider, 1, 0)
twoGroup.layout = twoLayout
layout = Qt::VBoxLayout.new
layout.addWidget(@menubar)
layout.addWidget(oneGroup)
layout.addWidget(twoGroup)
setLayout(layout)
setWindowTitle(tr("Main Title"))
end
def slotExit()
app.exec
end
def slotAbout()
Qt::MessageBox.about(self, tr("About Recent Files"), tr("Weeeaaalllll thar theaes fear-es that make thes that which happen, well just karda happen."))
end
def slotNew()
other = Window.new
other.show()
end
end
app = Qt::Application.new(ARGV)
window = Window.new
window.show
app.exec