c o n n e c t ( b t n E j e c t , S I G N A L ( c l i c k e d ( ) ) ,
S L O T ( e je c t( ) ) ) ;
c o n n e c t ( b t n l n s e r t , S I G N A L ( c l i c k e d ( ) ) , S L O T ( in -
s e r t ( ) ) ) ;
}
v o i d S p e e d e r s : e j e c t ( )
{
i f (!fork())
e x e c l p ( " e j e c t " , " e j e c t " , D E V I C E , N U L L ) ;
/ / Здесь я применил системные вызовы fo rk
О
и
e x e c l p O
(если точнее
— e x e c l p O является оболочкой к вызову e x -
e c ( ) ) — подробности по их использованию смотрите в статье
Сергея ака Gray ГУЛЕНКА «Занимательное пингвинострое-
ние. Чертовы вилы» (МК, № 49 (272)). Вызовом fork() пред-
принимается попытка создать подпроцесс, и если это удалось
(fo rk () возвратил о), то выполняем в этом подпроцессе
e j e c t .
}
v o i d S p e e d e r : : i n s e r t ( )
{
i f ( ! f o r k ( ) ) e x e c l p ( " e j e c t " , " e j e c t " , " - t " , DE-
V I C E , N U L L ) ;
}
v o i d S p e e d e r : : s e t S p e e d ( )
{
i f ( I f o r k O ) e x e c l p ( " e j e c t " , " e j e c t " , " - x " , s l i d e r -
> v a lu e ( ) .D E V IC E , N U L L ) ; / / в донном случае можно также
использовать
h d p a r m - Е , но эта команда не будет работать
с CD-RW-приводами, если у вое ядро 2.4
}
Теперь можно делать
q m a k e && m a k e && m a k e i n s t a l l и
запускать программу. Если вы хотите сделать дистрибутив
программы, чтобы затем его выложить но своем сайте, вы-
полните
m a k e d i s t — будет создан t a r . g z -архив, в котором
будут все нужные файлы для сборки проекта и не будет му-
сора вроде объектных файлов. В следующий раз немного
усовершенствуем нашу программу: добавим менюшки и нау-
чим ее говорить «по-нашенски».
(Продолжение следует)
Q L C D N u m b e r " l e d = n e w Q L C D N u m b e r ( 2 , t h i s ) ; / /
С оз-
дает индикатор для изображения цифровых данных в виде
сегментов — как в LCD-дисплее на вашем калькуляторе ©.
В данном случае
L C D N u m b e r
двухпозиционный.
l e d - » d i s p l a y (m a x s p e e d ) ; / / d i s p l a y с л у ж и т для в ы с т а в -
л е н и я ч и с л о в о г о з н а ч е н и я , к о т о р о е п о к а з ы в а е т L C D N u m b e r
b t n E j e c t - » s e t P i x m a p ( Q P i x m a p : : f r o m M im e S o u r c e
( " e j e c t . p n g " ) ) ;
b t n I n s e r t - > s e t P ix m a p ( Q P ix m a p : : f r a m M im e S o u r c e ( " i n -
s e r t . p n g " ) ) ; / / К а к я у ж е го в о р и л , и з о б р а ж е н и я , к о т о р ы е
п е р е ч и с л е н ы в с е к ц и и im a g e s ф а й л а п р о е к т а , д о с т у п н ы ч е р е з
Q P ix m a p : : f r o m M im e S o u r c e ( " n a m e " ) . П о д д е р ж и в а ю т с я ф о р -
м а т ы BMP, JPEG, P N G , G IF и м н о г и е д р у ги е . Д л я у с т а н о в к и
п и к т о гр а м м ы н а к н о п к у и с п о л ь з у е т с я ф у н кц и я -ч л е н s e t P ix m a p .
Q H B o x L a y o u t * h b o x = n e w Q H B o x L a y o u t ( t h i s , 1 0 ,1 0 );
h b o x - > a d d W id g e t ( b t n E j e c t ) ;
h b o x - » a d d w i d g e t ( b t n l n s e r t ) ;
Q G r id L a y o u t " g r i d = n e w Q G r id L a y o u t ( h b o x , 2 , 3 ) ;
g r i d - > s e t C o l S p a c i n g ( l , 3 0 ) ;
g r id -» a d d w id g e t (n e w Q L a b e l(" < b » S p e e d :< /b>" ,
t h is ) , 0 , 0 ,Q t : : A lig n L e f t ) ; // Параметр Q t : :A lig n L e ft
устанавливает привязку к левому
к р а ю , Q t : : A l i g n R i g h t —
к правому
g r i d - » a d d w i d g e t ( b t n S e t S p e e d , 0 , 2 , Q t : : A 1 i g n R i g h t ) ;
g r i d - » a d d M u l t i C e l l w i d g e t ( s l i d e r , 1 , 1 , 0 , 2 ) ;
h b o x - » a d d w i d g e t ( l e d ) ;
h b o x - » s e t S t r e t c h F a c t o r ( b t n l n s e r t , 1 ) ; / / ф у н к ц и я
s e t s t r e t c h F a c t o r а н а л о г и ч н а р а с с м о т р е н н ы м р а н е е s e t -
C o l S t r e t c h и s e t R o w S t r e t c h ,
но
т о л ь к о п р и м е н и м а к о т -
д е л ь н ы м в и д ж е т а м , п о м е щ е н н ы м н а Q V B o x L a y o u t и Q H -
B o x L a y o u t
h b o x - » s e t s t r e t c h F a c t o r ( b t n E j e c t , 1 ) ;
h b o x - » s e t S t r e t c h F a c t o r ( g r i d , 3 ) ;
h b o x - » s e t S t r e t c h F a c t o r ( l c d , l ) ;
c o n n e c t ( s l i d e r , S IG N A L ( v a lu e C h a n g e d ( i n t ) ) , l e d ,
S L O T ( d i s p l a y ( i n t ) )) ; / / v a l u e C h a n g e d — с и г н а л , к о т о р ы й
в о з н и к а е т п р и п е р е м е щ е н и и п о л з у н к а
/.-.СИ КОМПЬЮТЕР
предыдущая страница 39 Мой Компьютер 2005 14 читать онлайн следующая страница 41 Мой Компьютер 2005 14 читать онлайн Домой Выключить/включить текст